Navigation using proximity information

ABSTRACT

Embodiments provide techniques, including systems and methods, for locating and navigating to the location of a requestor based on proximity between a requestor device and a provider device. For example, embodiments display proximity indicators to allow a provider to quickly, easily, and safely locate a requestor upon arrival near a request location. Further, in some embodiments, graphics associated with a proximity vector may be presented on a provider communication device to clearly display the navigation directions to the provider so that the provider may easily find their matched requestor without requiring additional communication between the provider and the requestor. Additionally, embodiments provide efficient navigation to riders by limiting display of proximity indicators for navigation until the provider is within a threshold distance to the request location to conserve system resources and communication between an on-demand matching system and the provider computing device.

BACKGROUND

Traditionally, people have requested and received services at fixedlocations from specific service providers. For example, various serviceswere fulfilled by making a delivery to a user at a home or worklocation. Many services can now be accessed through mobile computingdevices and fulfilled at arbitrary locations, often by service providersthat are activated on demand. Such on-demand service offerings areconvenient for users, who do not have to be at fixed locations toreceive the services. Additionally, on-demand service matching systemsmay select and provide requests to service providers based the locationand status of service providers near a request location. Accordingly,on-demand matching systems may monitor system resources and controlefficient resource allocation based on demand-matching betweenrequestors and providers distributed through a geographic area. However,as such services have become more prevalent, and more users areinteracting with such services, it can be difficult to identify whichrequestor is associated with a service provider at a geographic requestlocation. This leads to inefficient resource allocation as themisidentification of service providers and requestors at a requestlocation leads to delay, canceled and duplicated requests, as well asmistaken matches between requestors and providers at a request location.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments in accordance with the present disclosure will bedescribed with reference to the drawings, in which:

FIG. 1 illustrates an example of an environment including multiplerequestors and a provider at a request location;

FIG. 2 illustrates an example of a ride matching system including amatched provider and requestor, in accordance with an embodiment of thepresent techniques;

FIG. 3 illustrates an example block diagram of a ride matching system,in accordance with an embodiment of the present techniques;

FIG. 4 illustrates an example block diagram of a provider computingdevice communicating with a ride matching system and a providercommunication device, in accordance with an embodiment of the presenttechniques;

FIGS. 5A-5C illustrate different viewpoints of an exemplary providercommunication device, in accordance with an embodiment of the presenttechniques;

FIG. 5D illustrates an exemplary computing device, in accordance with anembodiment of the present techniques;

FIGS. 6A and 6B illustrate a provider locating a requestor at a requestlocation amongst a variety of requestors based on a proximity vectorbetween the provider device and the requestor device, in accordance withan embodiment of the present techniques;

FIG. 6C illustrates an example of an environment from the view point ofa provider at a request location, in accordance with an embodiment ofthe present techniques;

FIGS. 7A-7F illustrate an exemplary provider communication deviceshowing different proximity indicators on a rear display of the providercommunication device, in accordance with an embodiment of the presenttechniques;

FIGS. 8A-8E illustrate exemplary proximity indicators configured to bepresented on a rear display of the provider communication device andcorresponding proximity vectors, in accordance with an embodiment of thepresent techniques;

FIG. 9 illustrates an exemplary flow diagram of a method for locatingand navigating to the location of a requestor based on proximity betweena requestor device and provider device, in accordance with embodimentsof the present techniques;

FIG. 10 illustrates a diagram of multiple destinations associated with arequestor information sequence during a ride, in accordance withembodiments of the present techniques;

FIGS. 11A-11C illustrate an exemplary provider communication deviceshowing an animation including requestor information based on arequestor information sequence in accordance with embodiments of thepresent techniques;

FIG. 12 illustrates an exemplary flow diagram of a method foridentifying and presenting requestor information during a ride based onrespective destination locations of the requestors, in accordance withan embodiment of the present techniques;

FIG. 13 illustrates an example requestor/provider managementenvironment, in accordance with various embodiments;

FIG. 14 illustrates an example data collection and applicationmanagement system, in accordance with various embodiments;

FIGS. 15A-15C illustrates an example provider communication device inaccordance with various embodiments; and

FIG. 16 illustrates an example computer system, in accordance withvarious embodiments.

DETAILED DESCRIPTION

In the following description, various embodiments will be described. Forpurposes of explanation, specific configurations and details are setforth in order to provide a thorough understanding of the embodiments.However, it will also be apparent to one skilled in the art that theembodiments may be practiced without the specific details. Furthermore,well-known features may be omitted or simplified in order not to obscurethe embodiment being described.

On-demand services that are accessed through mobile devices are becomingmore prevalent. However, due to the distributed nature of unknownproviders and requestors being matched by an on-demand matching system,it can be difficult for providers and requestors to identify one anotherat the point of service. Additionally, it can be difficult to locate arequestor as there may be multiple requestors in the same area. Thisleads to delay, misidentification, and mismatching of providers andrequestors at the point of service. For example, multiple requestors mayrequest services at the same address and may have trouble identifyingwhether a service provider is associated with their request or anotherrequest. Similarly, it can be difficult for a provider to identify whichof multiple requestors is associated with a request. Moreover,requestors may use a street address or building address as a requestlocation for a service but the address and/or location may have multipleentry and exit points. As such, service providers may arrive at alocation but may be on the wrong side of a building, at the wrong exitpoint, and/or may otherwise have difficulty navigating to the correctrequestor. Accordingly, it can be difficult to identify and/or locate alocation of a requestor once the service provider has arrived at arequested location. The difficulty in locating requestors leads to delayin the providing of services which can lead to mismanagement of providerresources as well as increased data processing and system communicationsas requestors cancel requests, place new requests, and require accountcorrections.

For example, traditionally in ride matching environments that allowdrivers and riders to be matched through a mobile application on theirsmart phones, it can be difficult to identify the exact location of arider upon arrival at a street address and/or building address. This canlead to people canceling requests as it takes too long for the driver tolocate the rider. Additionally, sometimes a rider may request a pick-upat a street level of a building but may later realize that the locationis not good for a pick up as there is heavy congestion, street closures,and/or other issues. As such, a requestor may walk down the block to abetter pick-up location. As such, the driver may arrive but may not beable to find the requestor as they are no longer at the requestlocation. The rider may cancel their ride request when there is a delayby the driver and/or additional system resources must be used by therider and/or driver through the initiation of phone calls, textmessages, and/or other contact methods to identify the exact location ofone another. This can cause dangerous situations when a driver'sattention is off the road and/or can lead to further delay. As such,riders may cancel the ride request and request a new ride which can leadto increased system resources usage as more requests are required tofulfill the same rider demand. Additionally, the new ride request canlead to congestion in pick-up locations as additional drivers arrive atthe location, further exacerbating the original congestion and confusionat the request location. This can be particularly troublesome atconcerts and other high traffic events (e.g., airports, etc.) where manypeople may desire a pick-up in the same area at around the same time. Insuch areas, pick-up locations can be very congested and it can be verydifficult for a driver to locate a rider based on request locationalone.

Embodiments provide techniques, including systems and methods, forlocating and navigating to the location of a requestor based onproximity between a requestor and provider. For example, embodimentsallow the use of proximity indicators to allow a provider to quickly,easily, and safely locate a requestor upon arrival near a requestlocation. Further, in some embodiments, graphics associated with aproximity vector may be presented on a provider communication device toclearly display the navigation directions to the provider so that theprovider may easily follow the proximity indicators to find theirmatched requestor without requiring additional communication between therider and the driver. Further, embodiments can provide efficientnavigation to riders by limiting device location-based navigation untilthe driver is within a threshold distance to the request location toconserve system resources and communication between the on-demandmatching system and the provider computing device.

Moreover, embodiments provide intuitive and easily interpretable userinterfaces and graphical presentations of navigation information to leada driver to the requestor's location. Additionally, by providing anefficient mechanism to identify requestor location upon arrival near therequest location, embodiments minimize system communications and dataprocessing loads by using request location as an initial navigationpoint and the requestor computing device as a fine-grain navigationpoint once close to the request location. Further, by more efficientlyidentifying the specific location of the requestor computing device andlimiting delays in providing services to requestors, embodiments limitthe use of system resources for unnecessary canceled ride requests andthe issuance of new ride requests as well as the lost downtime andincreased throughput of providers.

FIG. 1 illustrates an example of an environment 100 including multiplerequestors 110A-110C and a provider 140A at a request location 180. Eachrequestor 110A-110C may have a requestor computing device 120A-120C andthe provider 140A may have a provider computing device 150A. Therequestor computing device may be used to request services (e.g., a rideor transportation, a delivery, etc.) that may be provided by theprovider 140A. The provider computing device may be used to contactavailable providers and match a request with an available provider.However, it may be difficult for the provider to identify whichrequestor is matched with their request due to multiple requestors beinglocated at the request location 180. For example, where the requestor isasking for a ride, multiple requestors may enter the same or nearly thesame request location for a ride around the same time. As such, aprovider may arrive at a pick-up location around the same time to findmultiple requestors waiting for their respective matched provider. Itmay be difficult to identify which requestor is matched with whichprovider and/or it may be difficult to find the respective requestorwhen a request location is congested with multiple requestors and/orproviders. Moreover, as explained above, it may be difficult to findwhich exit point to a building a requestor is located at and it may bedifficult to find a requestor where the requestor moves away from theinitial request location due to the congestion, confusion, and/orunforeseen problems at the request location. Accordingly, the providermay not be able to find the correct matched requestor and/or theprovider may provide goods or other services to the wrong requestor.Thus, embodiments provide a solution that allows a provider to identifythe specific location of the requestor based on a proximity between theprovider computing device and the requestor computing device.

FIG. 2 illustrates an example of a ride matching system 130 including amatched provider 140A and requestor 110A, in accordance with anembodiment of the present techniques. The ride matching system 130 maybe configured to communicate with both the requestor computing device120A and the provider computing device 150A. The provider computingdevice 150A may be configured to communicate with a providercommunication device 160A that is configured to easily and efficientlydisplay information to a provider 140A and/or a requestor 110A. Therequestor 110A may use a ride matching requestor application on arequestor computing device 120A to request a ride at a specified pick-uplocation. The request may be sent over a communication network 170 tothe ride matching system 130. The ride request may include transportrequest information that may include, for example, a request location,an identifier associated with the requestor and/or the requestorcomputing device, user information associated with the request, alocation of the requestor computing device, a request time (e.g., ascheduled ride may have a future time for the request to be fulfilled oran “instant/current” time for transportation as soon as possible),and/or any other relevant information to matching transport requestswith transport providers as described herein. The request location mayinclude, for example, a current location, a future location, a “bestfit/predictive” location, a curb segment, or any other suitableinformation for indicating a location for a requestor to be found at thecurrent time or in the future. In some embodiments, the transportrequest may further include other request related information including,for example, requestor transport preferences (e.g., highway vs.side-streets, temperature, music preference (link to 3^(rd) party musicprovider profile, etc.), personalized pattern/color to display onprovider communication device, etc.) and requestor transportrestrictions (e.g., pet friendly, child seat, wheelchair accessible,etc.).

The ride matching system (also referred to as a “dynamic transportmatching system”) 130 may identify available providers that areregistered with the ride matching system 130 through an application ontheir provider communication device 150A. The ride matching system 130may send the ride request to a provider communication device 150A andthe provider 140A may accept the ride request through the providercommunication device 150A. Additionally and/or alternatively, in someembodiments, the provider may be predictively and/or automaticallymatched with a request such that the provider may not explicitly acceptthe request. For instance, the provider may enter a mode where theprovider agrees to accept all requests that are sent to the providerwithout the ability to decline and/or review requests before accepting.In either case, the provider computing device may return informationindicative of a match indicating that the provider received thetransport request. For example, the information indicative of a matchmay include a provider accept indicator (e.g., a flag) that indicatesthe provider received and accepts the indicator or could include avariety of different information. For example, the informationindicative of a match may include location information, other routeinformation for other passengers in the vehicle, a schedule for thedriver providing information regarding future availability (e.g., whenthey are going to go offline), diagnostics associated with the car(e.g., gas level, battery level, engine status, etc.), and/or any othersuitable information. The provider 140A and the requestor 110A may bematched and both parties may receive match information associated withthe other respective party including requestor information (e.g., name,representative symbol or graphic, social media profile, etc.), providerinformation (e.g., name, representative symbol or graphic, etc.),request location, destination location, respective computing devicelocation, rating, past ride history, any of the other transport requestinformation and/or provider acceptance information identified above,and/or any other relevant information for facilitating the match and/orservice being provided. Thus, the ride matching system 130 maydynamically match requestors and providers that are distributedthroughout a geographic area.

The ride matching system 130 can monitor the location of the respectiverequestor computing device and provider computing device and sendlocation information to the respective other device. Thus, as theprovider computing device gets closer to the request location, the ridematching system may monitor the location of the provider computingdevice and may send the location of the requestor computing device tothe provider computing device. As such, the provider computing devicemay receive the location of the requestor computing device to allow theprovider to identify the specific location of the requestor.Accordingly, the provider computing device may determine a proximityvector between the present location of the provider computing device andthe location of the requestor computing device and instructionsnavigating the provider to the exact location of the requestor may beprovided to the provider. For example, a proximity indicatorcorresponding to a color, pattern, image, animation, and/or pattern ofcolors to be presented on a display of the corresponding computingdevice may be determined and presented to the provider to navigate theprovider to the location of the requestor. Proximity indicators may alsoinclude additional or other types of multimedia elements such as sounds,audio/visual presentations, haptic feedback (e.g., vibrations, etc.),holograms, augmented reality presentations, etc. For example, theproximity indicator associated with haptic feedback may vibrate one sideof the steering wheel and/or may vibrate stronger or weaker depending onthe distance to the requestor computing device. The provider computingdevice 150C may present the proximity indicator that can quickly andeasily navigate the driver to the location of the requestor. In someembodiments, the provider computing device 150C may pass the proximityindicator to a provider communication device 160C that is configured topresent the corresponding color, pattern, pattern of colors, animation,and/or image on a large display that can easily, intuitively, and safelybe followed by the driver to the location of the requestor. Moreover, insome embodiments, the provider computing device 150C may pass theproximity indicator to one or more other displays and/or devices thatmay be located in a vehicle (e.g., seat displays, in-vehicle displays,user computing devices located within the vehicle, etc.).

Additionally and/or alternatively, in some embodiments, an interactionindicator associated with requestor information associated with amatched ride may be displayed based on proximity to the requestorcomputing device. For example, an interaction indicator including aname, a graphic, and/or a greeting associated with the requestorinformation may be presented to the requestor upon arriving near and/orwithin a distance threshold of the requestor computing device. Therequestor information may be sent to the provider computing device aspart of matched information associated with a request. Accordingly,similar to the techniques described herein related to the proximityindicator, the interaction indicator may be displayed to provide awelcoming interaction with the requestor upon the requestor approachingand/or entering a vehicle of the provider. Similar to the proximityindicator, the interaction indicator may be displayed on any number ofdifferent displays within the provider vehicle and/or through theprovider communication device. Additionally, the same techniquesdescribed herein regarding the provider computing device may beimplemented by the requestor computing device to display an interactionindicator and/or proximity indicator on the requestor computing deviceor a display associated with the requestor computing device.

FIG. 3 illustrates an example block diagram 300 of a ride matchingsystem 130, in accordance with an embodiment of the present techniques.As described above, the ride matching system 130 may identify andfacilitate request matching from requestors 110 associated withrequestor computing devices 120 with available providers 140 associatedwith provider computing devices 150. The ride matching system 130 mayinclude a requestor interface 131, a provider interface 132, a ridematching module 133, a location update module 134, and a requestorinformation sequence module 135. The ride matching system 130 may alsoinclude a requestor information data store 136A, a provider informationdata store 136B, a matched rides data store 136C, and a navigation datastore 136D which may be used by any of the modules of the ride matchingsystem 130 to obtain information in order to perform the functionalityof the corresponding module. The ride matching system 130 may beconfigured to communicate with a plurality of requestor computingdevices 120 and a plurality of provider computing devices 150. Althoughthe ride matching system 130 is shown in a single system, the ridematching system 130 may be hosted on multiple server computers and/ordistributed across multiple systems. Additionally, the modules may beperformed by any number of different computers and/or systems. Thus, themodules may be separated into multiple services and/or over multipledifferent systems to perform the functionality described herein.

Although embodiments may be described in reference to ride requests, anynumber of different services may be provided through similar requestsand matching functionality. Accordingly, embodiments are not limited tothe matching of ride requests and one of ordinary skill would recognizethat embodiments could be implemented for any number of differentservices that have requestors and providers being matched through anetwork of connected computing devices.

The requestor interface 131 may include any software and/or hardwarecomponents configured to send and receive communications and/or otherinformation between the ride matching system 130 and a plurality ofrequestor computing devices 120. The requestor interface 131 may beconfigured to facilitate communication between the ride matching system130 and the requestor application 121 operating on each of a pluralityof requestor computing devices 120. The requestor interface 131 may beconfigured to periodically receive ride requests, location information,a request location (also referred to as a “pick-up” location), requestorstatus information, a location of the requestor computing device, and/orany other relevant information from the requestor computing device 120when the requestor application 121 is active on the requestor computingdevice 120. The ride request may include a requestor identifier,location information for the requestor computing device 120, a pick-uplocation for the ride request, one or more destination locations, apick-up time, and/or any other suitable information associated withproviding a service to a requestor. The ride request may be sent in asingle message or may include a series of messages. The ride matchingmodule 133 may receive the ride request and update a ride requests datastore 136C with the ride request information.

Additionally, the requestor interface 131 may be configured to send ridematch messages, location information for the provider computing device,provider information, travel routes, pick-up estimates, trafficinformation, requestor updates/notifications, and/or any other relevantinformation to the requestor application 121 of the requestor computingdevice 120. The requestor interface 131 may update a requestorinformation data store 136A with requestor information received and/orsent to the requestor, a status of the requestor, a requestor computingdevice location, and/or any other relevant information.

A requestor computing device 120 may include any device that isconfigured to communicate with a ride matching system 130 and/orprovider computing device 150 over one or more communication networks170. The requestor computing device 120 may comprise a processor, acomputer-readable memory, and communication hardware and/or software toallow the requestor computing device 120 to communicate over one or morecommunication networks 170. For example, a requestor computing device120 may include a mobile phone, a tablet, a smart watch, a laptopcomputer, a desktop computer, and/or any other suitable device having aprocessor, memory, and communication hardware. In some embodiments, therequestor computing device 120 may include a requestor application 121that is configured to manage communications with the ride matchingsystem 130 and interface with the user (i.e., requestor) of therequestor computing device 120. The requestor application 121 may allowa user to request a ride, monitor the status of a matched ride, pay fora ride, monitor past rides, perform any other requestor-orientedservices related to the ride matching system 130, and/or obtain anyother requestor-oriented information from the ride matching system 130.

The provider interface 132 may include any software and/or hardwareconfigured to send and receive communications and/or other informationbetween the ride matching system 130 and a plurality of providercomputing devices 150. The provider interface 132 may be configured toperiodically receive location information of the provider computingdevice 150, provider status information, and/or any other relevantinformation from the provider computing device 150 when the providerapplication 151 is active on the provider computing device 150.Additionally, the provider interface 132 may be configured to send riderequests, location information of a requestor computing device 120,pick-up locations, travel routes, pick-up estimates, trafficinformation, provider updates/notifications, and/or any other relevantinformation to the provider application 151 of the provider computingdevice 150. The provider interface 132 may update a provider informationdata store 136B with provider information received and/or sent to theprovider, a status of the provider, a provider computing devicelocation, and/or any other relevant information.

A provider computing device 150 may include any computing device that isconfigured to communicate with a ride matching system 130 and/orprovider computing device 150 over one or more communication networks170. The provider computing device 150 may comprise a processor, acomputer-readable memory, and communication hardware and/or software toallow the provider computing device 150 to communicate over one or morecommunication networks 170. For example, a provider computing device 150may include a mobile phone, a tablet, a smart watch, a laptop computer,a desktop computer, and/or any other suitable device having a processor,memory, and communication hardware. In some embodiments, the providercomputing device 150 may include a provider application 151 that isconfigured to manage communications with the ride matching system 130and interface with the user of the provider computing device 150. Theprovider application 151 may allow a user to accept a ride request,monitor the status of a matched ride, obtain or generate navigationdirections or a mapped route for a matched ride, get paid for a ride,monitor past rides, perform any other provider-oriented services relatedto the ride matching system 130, and/or obtain any otherprovider-oriented information from the ride matching system 130. Theprovider computing device 150 and the provider application 151 will bediscussed in further detail in reference to FIG. 4.

The ride matching module 133 may include a software module that isconfigured to process ride requests, ride responses, and othercommunications between requestors and providers of the ride matchingsystem 130 to match a requestor and a provider for a requested service.For example, the ride matching module 133 may be configured to identifyavailable providers for a ride request from a requestor by identifying ageographic region associated with the pick-up location and may search aprovider information data store 136B to identify available providerswithin a predetermined distance of the pick-up location and/or thegeographic region. The ride matching module 133 may provide the riderequest to the provider interface 132 with the provider contactinformation or provider identifier so that the ride request may be sentto one or more available providers.

The ride matching module 133 may send the ride request and/or theinformation from the ride request to one or more of the availableproviders to determine whether the available providers are interested inaccepting the ride request. The one or more available providers mayreceive the ride request through the provider application 151 of theprovider computing device 150, may evaluate the request, and may acceptor deny the request by providing an input through the providerapplication 151. A ride response message may be sent to the ridematching system 130 indicating whether a ride was accepted and includinga provider identifier, a location of the provider, and/or any othersuitable information to allow the ride matching system 130 to processthe response. Alternatively, the provider may ignore the request andafter a predetermined period of time, the request may be considereddenied and a corresponding ride response message may be sent to the ridematching system 130. In some embodiments, no response may be sent unlessa ride request is accepted and the ride will be assumed to be deniedunless a response is received from the provider.

The ride matching module 133 may receive the ride response, evaluatewhether the provider accepted or declined the request, and may eitherfind additional available providers for the request (if declined) ordetermine the ride request has been accepted and send matched rideinformation to the requestor computing device 120 and the providercomputing device 150. The matched ride information may include providerinformation, requestor information, the pick-up location, the currentlocation of the provider computing device, the current location of therequestor computing device, an estimated time of arrival for theprovider, and/or any other suitable information to allow the requestorand the provider to complete the requested service. The ride matchingmodule 133 may update the matched rides data store 136C with thecorresponding matched ride information for the matched ride.

The location update module 134 may include a software module that isconfigured to track the location of the provider computing device andthe requestor computing device and provide location information to eachof the respective devices to facilitate navigating the providercomputing device to the requestor computing device (or vice versa). Forexample, the location update module 134 may be configured to identifywhen a provider computing device is within a threshold distance to arequest location and/or when a provider computing device requests alocation of a requestor computing device and provide the respectivelocation to the provider computing device. For instance, the ridematching module 133 may send a request to the location update module 134in response to a matched ride. The location update module 134 mayreceive a requestor computing device identifier, a provider computingdevice identifier, and a pick-up location associated with a matched ridefrom the ride matching module 133 and may track the progress of theprovider computing device 150 in relation to the request location. Forexample, the location update module 134 may obtain and monitor thelocation of the provider computing device 150 from the providerinformation data store 136B and once the provider computing device 150is within a threshold distance of the request location, the locationupdate module 134 may send the location of the requestor computingdevice 120 to the provider computing device 150. The provider computingdevice 150 may then calculate a proximity vector between the location ofthe provider computing device 150 and the requestor computing device 120to locate the exact location of the requestor computing device 120 aswill be described in further detail below. Similarly, the locationupdate module 134 may identify and monitor the location of the providercomputing device 150 and send the location to the requestor computingdevice 120 upon being within a threshold distance to the providercomputing device 150. In some embodiments, the location update module134 may periodically and/or upon another condition being met, sendlocation updates to both the requestor computing device and the providercomputing device for the location of the corresponding device (e.g.,provider device location being sent to requestor device and vice versa).Additionally, in some embodiments, the location update module 134 mayuse the location of each respective device to calculate and provide theproximity vector between the two devices and send the correspondingvector to the provider computing device and/or the requestor computingdevice as will be described in further detail below.

The requestor information sequence module 135 may include a softwaremodule that is configured to identify a sequence of destinationlocations corresponding to multiple drop-off locations for multipleriders that have matched with a particular provider. For example, insome embodiments, a provider may pick up multiple different requestorsduring a single ride or trip. Each of the multiple riders may havedifferent destination (i.e., drop-off) locations. The requestorinformation sequence module 135 may be configured to optimize thenavigation route of the provider to obtain the most efficient and/ortime sensitive route to drop off the multiple requestors at the multipledestinations. Further, the requestor may not know which drop-offlocation is being navigated to and may not be prepared to be dropped-offupon arrival at their location. Accordingly, the requestor informationsequence module 135 may be configured to identify the requestorassociated with the next drop-off location and send that information tothe provider computing device for delivery to the requestors.Additionally, in some embodiments, the requestor may receive anotification informing them that they are next and/or providinginformation including an estimated drop-off time, a sequence of therespective requestor drop-offs, and/or any other suitable information.

The requestor information sequence module 135 may be configured toobtain the location of the provider computing device and the pluralityof destination locations of the plurality of matched rides associatedwith the provider. The requestor information sequence module 135 mayreceive the provider location information and the destination locationsfrom the ride matching module 133, by obtaining the information from thematched rides data store 136C, and/or by obtaining the information fromthe provider information data store 136B and the requestor informationdata store 136A. The requestor information sequence module 135 maycalculate an estimated time of arrival for a variety of different routesbased on navigation information obtained from a navigation data store136D. The navigation information may include real-time and historicaltraffic information, historical travel time information, known routesfor a geographic area or region, traffic rules, and/or any othersuitable information for mapping and/or identifying potential routes fortraveling from one location to another based on a type of transportation(e.g., driving, biking, sailing, flying, etc.). The requestorinformation sequence module 135 may map a plurality of possible routesfrom the provider location to each of the destination locations in avariety of different sequences of drop-offs and generate an estimatedarrival time for each of the potential mapped routes. The requestorinformation sequence module 135 may incorporate current trafficconditions, road closures, weather conditions, and any other relevanttravel time related information to calculate an estimated arrival timefor the provider for each of the destination locations in each of thesequences of drop-offs.

Once estimated travel times have been calculated for each of thepotential routes, the requestor information sequence module 135 mayselect a sequence of the destination locations that leads to the fastestdrop-off times for each of the matched requestors. The estimated arrivaltime may be calculated by taking an average of the arrival time of eachof the mapped routes, selecting the estimated arrival time for thefastest route, receiving a selection of one of the potential routes bythe provider, identifying the route being taken based on the route beingused by the provider, and/or through any other suitable method. If theprovider makes a wrong turn and/or follows a different route than thatcalculated by the requestor information sequence module 135, therequestor information sequence module 135 may obtain the updatedlocation of the provider computing device and recalculate the possibleroutes and estimated arrival times to recalculate the sequence ofrequestors associated with the sequence of destination locations. Assuch, the requestor sequence may be updated as travel and roadconditions, weather, etc. are updated. Accordingly, the requestorinformation sequence module 135 may determine a navigation routeassociated with the multiple drop-off locations and a destinationsequence associated with the navigation route that identifies the orderof drop-offs of the requestors associated with the various destinations.

The requestor information sequence module 135 may also obtain requestorinformation associated with each of the requestors of the requestorsequence and/or destination sequence. For example, the requestorinformation sequence module 135 may identify a requestor associated witheach of the destinations in the destination sequence, obtain requestorinformation from a requestor information data store for each requestor,and send the requestor information along with the destination sequenceto the provider computing device 150. The provider computing device maythen be configured to display the requestor information for each of therespective destinations to the requestors located in the vehicle in thesequence of drop-offs from the destination sequence.

In some embodiments, the requestor information sequence module 135 maybe called by the ride matching module when the ride matching moduleidentifies a provider is associated with multiple destination locationsand/or multiple requestors. Additionally, in some embodiments, therequestor information sequence module 135 may analyze the presence ofmultiple requestors associated with a provider whenever a destinationlocation is updated in the system. For example, the ride matching module133 may call the requestor information sequence module 135 whenevermatched ride information is updated for any matched rides within theride matching system 130. For instance, previously matched rides may beupdated to have multiple requestors and multiple correspondingdestination locations associated with a particular ride. As such,multiple requestor rides may be identified and a destination order orrequestor information sequence may be identified for a matched ridebased on updates mid-ride and/or whenever an update occurs to a matchedride. Moreover, in some embodiments, the estimated arrival time for themultiple destinations may be periodically tracked to ensure that trafficconditions, mistakes (i.e., errant turns) of a provider, inaccuracies inthe mapping information, and/or any other potential issues that maydelay the arrival time of a provider are monitored to identify ifupdated estimates show that the requestor information sequence should beupdated.

FIG. 4 illustrates an example block diagram 400 of a provider computingdevice 150 communicating with a ride matching system 130 and a providercommunication device 160, in accordance with an embodiment of thepresent techniques. As described above, the provider computing device150 is configured to communicate with the ride matching system 130 toreceive and provide a response to a request to provide a service. Theprovider computing device 150 may communicate with the ride matchingsystem 130 through one or more communication networks 170. The providercomputing device 150 may communicate with the provider communicationdevice 160 through a wired or wireless connection. For example, thedevices may be paired using Bluetooth™ or another short rangecommunication protocol.

The provider application 151 of the provider computing device 150 isconfigured to receive the matched ride information including a requestlocation from the provider interface 132 of the ride matching system130. The provider application 151 may obtain a navigation route to therequest location, communicate ride related information to the ridematching system, and/or otherwise interface with the ride matchingsystem as described herein. The provider application may obtain anavigation route to the request location through any suitable method.For example, the ride matching system could provide the navigationinstructions directly or could include a link to map information fromwhich one or more navigation routes can be determined and/or any otherinformation that allows the provider computing device to identifynavigation directions to a location.

A proximity vector determination module 152 is configured to calculate adifference in location between a present location of the providercomputing device and a requestor computing device and determinenavigation instructions to locate the requestor computing device. Forexample, the proximity vector determination module may receive alocation of a requestor computing device from a ride matching system andcalculate a magnitude and a direction of the difference between thelocation of the provider computing device and the location of therequestor computing device. The proximity vector determination modulemay obtain the location of the provider computing device from thelocation module.

The proximity vector determination module 152 may calculate a magnitudeand direction of the difference between the locations through anysuitable method. For example, the proximity vector determination modulemay be configured to receive coordinates for two locations and calculatethe difference between the two coordinates. For instance, thecoordinates may be provided in the format of a longitude and latitudefor each location. The magnitude may include the distance between thetwo coordinates. The direction may be defined in reference to a locationand direction corresponding to the provider computing device. Forexample, the reference direction may be defined according to a directionof travel of the provider computing device. As such, the proximityvector may be defined in relation to the direction of travel of theprovider computing device and/or the navigation route in the directionof the request location from the location of the provider computingdevice.

Once the proximity vector is determined, the interactive display module153 may receive the proximity vector from the proximity vectordetermination module 152 and identify a proximity indicator associatedwith the proximity vector. The interactive display module 153 may selecta proximity indicator that is associated with the magnitude and thedirection of the difference between the location of the providercomputing device and the location of the requestor computing device. Theproximity indicators may include any animation, color, pattern, image,or pattern of colors that indicate a direction, a distance, and/or adirection and a distance to the location of the requestor computingdevice. Additionally and/or alternatively, in some embodiments, theproximity indicator may include sounds, haptic feedback commands, and/orany other suitable information that may be used to indicate a distanceand/or direction to a provider. The variety of proximity indicators maybe stored in a proximity indicators data store 156 and the interactivedisplay module 153 may be configured to submit the magnitude anddirection of the proximity vector and obtain a corresponding proximityindicator associated with the magnitude and direction from the proximityindicators data store 156. The proximity indicators data store 156 mayinclude a table of magnitudes and directions to proximity indicators.The proximity indicators data store 156 may associate a variety ofdifferent magnitudes and directions with one or more proximityindicators such that the proximity vector determination module mayobtain the closest proximity indicator associated with the magnitude anddirection without requiring a different proximity indicator for thevarious iterations of magnitude and direction available. For example, aproximity indicator may be associated with any magnitudes over 15 feetand a direction between 235-270 degrees. As such, any proximity vectorsmatching these two criteria may return the same proximity indicator. Asthe magnitude and/or direction of the proximity vector changes as theprovider gets closer to the requestor and/or the angle between theprovider and the requestor changes, the proximity indicator may changeto the next corresponding matching proximity indicator.

The interactive display module 153 of the provider application 151 maybe configured to cause the proximity indicator associated with theproximity vector to be displayed. The interactive display module 153 isconfigured to identify and present a graphic including a pattern, acolor, an image, and/or any other information that is associated withthe proximity indicator on a display 155 of the provider computingdevice 150 as well as on one or more displays 162-164 of the providercommunication device 160. The interactive display module 153 may sendthe identified graphical proximity indicator including the pattern,image, animation, and/or colors associated with the proximity indicatorto the provider communication device 160 for presentation by theprovider communication device 160. For example, the interactive displaymodule may cause graphics corresponding to the proximity indicator to bepresented on a rear display 162 of a provider communication device 160so that a provider may follow the navigation instructions associatedwith the proximity indicator to the location of the requestor.

The location module 154 may track the location of the provider computingdevice 150 using any suitable technology. For example, the locationmodule may include a GPS transceiver, network triangulation components,and/or any other suitable technology to identify the present location ofthe provider computing device. The location module 154 may provide thelocation of the provider computing device 150 to the providerapplication 151 for reporting to the ride matching system 130 and/or useby the proximity vector determination module 152.

In some embodiments, the proximity vector determination module 152 mayuse information from the location module 154 to determine when theprovider computing device 150 is located within a threshold distancefrom a request location. Once the provider computing device 150 iswithin the threshold distance, the provider application 151 and/or theproximity vector determination module 152 may send a request for alocation of the requestor computing device 120 from the ride matchingsystem 130, receive the location of the requestor computing device 120from the ride matching system 130, and calculate the proximity vector asdescribed above.

Additionally, in some embodiments, the magnitude of the proximity vectormay be compared to a display threshold to identify whether the magnitudeis small enough to start displaying a corresponding proximity indicator.For example, it may not be worthwhile to start displaying proximityindicators to a provider until the provider is close enough to therequestor to follow the navigation instructions displayed through theproximity indicator. As such, if the magnitude is above the displaythreshold (meaning that the location of the requestor computing deviceis over a distance threshold away from the provider), the proximityindicator may not be displayed until the magnitude is smaller than thethreshold.

The proximity indicators data store 156 may include proximity indicatorsthat have been configured for display by the provider computing device150 and/or the provider communication device 160. The proximityindicators may be stored with constraints or rules that dictate whenand/or where an proximity indicator may be available to be deployed. Forexample, some proximity indicators may be limited to particulargeographic regions, providers, requestors, times of day, etc. Somepatterns, colors, patterns of colors, images, etc., may be preferred byusers and/or may be easier to distinguish when being used. For instance,in inclement weather (e.g., rain, fog, etc.), certain colors may beutilized over other colors in order to increase visibility.Additionally, proximity indicators may be selected based on data such asuser data. For example, data may be received that a particular user iscolor-blind; therefore, only certain colors, patterns, etc. may be usedfrom which to select proximity indicators. In some cases, audio may beused in place of visual indicators, for instance if it is determinedthat a user is visually impaired. Additionally, graphics associated withproximity indicators may be customized by users and/or designed by usersof the ride matching system 130. Thus, different user accounts may havecustom and/or preferred proximity indicators.

Additionally, in some embodiments, the interactive display module 153 ofthe provider application 151 may be configured to display requestorinformation associated with a destination sequence of drop-offs formultiple requestors that are matched with a provider. For example, insome embodiments, the interactive display module may be configured toidentify a requestor associated with the next destination location ofthe provider, select the requestor information from a requestor sequencedata store 157, and display the requestor information upon an event. Theevent may include the arrival at a destination location, travelingwithin a threshold distance of a destination location, completion of aprior destination drop-off, and/or through any other suitable event.

The interactive display module 153 of the provider application 151 mayidentify a first destination based on the destination sequence receivedfrom the ride matching system and may determine a distance to the firstdestination based on a location of the provider computing device and thelocation of the first destination. In some embodiments, the distance maybe based on the navigation route (e.g., may be based on an arrival timeand/or a navigation route and may incorporate traffic, road conditions,etc.) and/or may be based on a direct distance between two coordinateswithout considering the navigation route and/or traffic conditions. Theinteractive display module may determine whether the distance to thefirst destination is within a notification distance threshold of thedestination location by comparing the identified arrival time, distancemetric, and/or other information for identifying how close the provideris to the destination location to a threshold distance and/or arrivaltime indicator for notifying the requestor of the next drop-off. Forexample, the system may only notify a requestor when they are within acouple blocks of the drop-off location to avoid multiple notificationsand annoying the other passengers for the ride. Additionally, in someembodiments, multiple notifications may be displayed such that therequestor is notified upon drop-off of a prior requestor and when theprovider is within a display threshold of the destination location.

Once the provider is within the notification threshold distance, theinteractive display module may be configured to determine firstrequestor information associated with the first destination of thedestination sequence from a requestor sequence data store 157 andpresent the first requestor information on a display of the providercomputing device. As explained above, the requestor information mayinclude any suitable information to indicate to the passengers whichrequestor is next to be dropped off. Additionally, the requestorinformation may be incorporated into a previously generated animationsuch that at least a portion of the animation is personalized for eachrequestor. For instance, FIGS. 12A-12C show one example of an animationincluding requestor information indicating the next requestor to bedropped-off. The portions of the animation shown in FIGS. 12A and 12Bmay be displayed for all requestors while the portion shown in FIG. 12Cis personalized for each requestor by displaying the first and/or lastname of the requestor. Other requestor information may be displayed inother embodiments including pre-selected images, videos, profilepictures, gifs, and/or any other information that may be capable ofbeing displayed by the provider computing device, requestor computingdevice, and/or provider communication device. As described above, insome embodiments, the requestor information may be used to display aninteraction indicator that displays a greeting, a name, and/or any otherinformation about the requestor upon entry into a vehicle or based uponproximity to a vehicle as the requestor computing device and theprovider computing device approach one another. Similarly, the requestorinformation described herein may be used in such an embodiment todisplay additional information about the requestor and/or provider tothe corresponding party.

The requestor sequence data store 157 may include requestor informationassociated with the requestors that are matched to the provider. Therequestor sequence data store 157 may organize the requestor informationin a sequence according to destination location and/or a destinationsequence associated with a navigation route of the provider. Therequestor information may include any suitable information foridentifying a requestor associated with a next destination of theprovider. For example, the requestor information include a name,initials, a designated icon, image, animation, gif, and/or any othersuitable information that informs a requestor that they are the nextentity to be dropped off at the next destination. The requestorinformation may be customized and/or selected for particular requestorand stored as being associated with the account profile of therequestor. The requestor sequence data may be provided by the providerinterface of the ride matching system upon matching of the variousrequestors and may be updated as additional and/or fewer requestors areincluded in the destination sequence.

Additionally, in some embodiments, the interactive display module 153 ofthe provider application 151 may be configured to display other types ofsystem information upon particular conditions being met and/or uponinstruction from the ride matching system. For example, the interactivedisplay module may be configured to display provider informationincluding driver metrics (e.g., miles driven, amount earned, statustowards a reward, etc.), high demand area navigation directions that mayprovide higher earning potentials, driver authentication information,and/or any other relevant information to the provider. The interactivedisplay module 153 may be configured to receive the information and/ormonitor the provider information for conditions that may be trigger thepresentation of such information. For example, when a provider is 5matched rides away from a reward, the interactive display module 153 maybe configured to display such a notice to the provider through aprovider communication device in line with the description herein.Further, the proximity navigation features described herein may be usedto navigate a provider to a high demand area of a city, region, or stateto allow the provider to earn more on their respective rides.Accordingly, the interactive display module 153 may be configured topresent a variety of different types of information through a display onthe provider computing device and/or a display on the providercommunication device 160.

The provider communication device 160 is configured to display thecorresponding graphics associated with the proximity indicator and/orthe requestor information including patterns, colors, and/or images on afront display 162, rear display 163, and/or background lighting 164 ofthe provider communication device 160. The provider communication device160 may include a processor 161, a front display 162, a rear display163, and background lighting 164. The processor 161 may be configured toreceive instructions related to displaying graphics and/or otherinformation associated with the provider application 151 from theprovider computing device 150 and present those graphics on one or moreof the front display 162, rear display 163, and/or background lighting164. The processor 161 may be configured to control each of the displaysindependently and/or as a group. Examples of proximity indicatorsdisplayed on a rear display of a provider communication device 160 canbe found in reference to FIGS. 7A-7F, 8, and 9A-9E. Proximity indicatorsmay also comprise multimedia elements such as sounds, videos, or anytype of audio and/or visual presentation.

Additionally, the requestor computing device may include similarfunctionality to that described in reference to FIG. 4. As describedabove, the requestor computing device 120 is configured to communicatewith the ride matching system 130 in order to request a service. Therequestor computing device 120 may include a requestor application 121having an interactive display module with corresponding proximityindicators data and a display. The requestor computing device mayinclude communication components that allow the requestor computingdevice 120 to communicate over one or more communication networks 170.The requestor computing device 120 may also include a location moduleand/or other location identification components to allow the requestorcomputing device 120 to determine its current location and/or position.For example, the location module may implement global positioning system(GPS), cellular communications triangulation, and/or any other suitablelocation-based techniques to determine the coordinates or location ofthe requestor computing device 120. The requestor computing device maybe configured to perform any of the features of the provider computingdevice and may have corresponding proximity vector determination modulesand/or interactive display modules as described in reference to theprovider computing device. As such, similar graphics as described aboveand below in reference to the provider computing device may be displayedon the requestor computing device as well. The display may include anysuitable components to create visible and recognizable light. Forinstance, the display may include LED arrays, a LCD display, aprojector, and/or any other components that create visible light,pixels, and/or images. Additional information regarding the computingdevices may be found in reference to FIG. 17 below.

FIGS. 5A-5C illustrate different viewpoints of an exemplary providercommunication device 160, according to some embodiments of the presenttechniques. FIG. 5A shows a front view of the provider communicationdevice 160 having a front display 162 and a logo 165 display. In someembodiments, the logo 165 may have different corresponding lights and/ordisplay elements associated with it such that it can display differentcolors and/or patterns than the front display. In some embodiments, thelogo 165 may have a stable color such that it may not change over time.In some embodiments, the front display 162 may comprise a large numberof light sources that can be configured to display a wide range ofpatterns, colors, images, and/or any other information on the frontdisplay of provider communication device 160. For example, the frontdisplay may have an array of light emitting diodes (LEDs) that may beconfigured to provide any number of colors either individually or incombination with the other LEDs in the array. Any suitable lightingsources may be used in the front display. FIG. 5A shows the providercommunication device 160 presenting a first pattern 166A on the frontdisplay 162 that has a single color being displayed through the displayportion of the front display with a lighter colored logo 165 to offsetthe darker background.

FIG. 5B shows a rear view of the provider communication device 160having a rear body, a rear display 163, a power button 167, backgroundlighting 164A-164D, and a device input 168. The rear display isconfigured to display instructions, greetings, directions, proximityindicators, and/or any other suitable information to those in a vehicleand/or behind the vehicle. For instance, the rear display 163 may beconfigured to instruct a provider with navigation directions to arequestor, may show a greeting to the requestor as they enter thevehicle, may display a proximity indicator to help the provider thatarrives in the vehicle to find the exact location of the requestorcomputing device and/or any other suitable purpose for displayinginformation to the provider and/or requestor. The rear display 163 mayinclude an array of LEDs and/or any other suitable lighting source thatmay be capable of displaying multiple colors, patterns, graphics,images, animation, and/or any other perceivable information to arequestor and/or driver. The background lighting 164A-D may include oneor more independent light sources that are pointed in a downwarddirection to allow a cloud of light to fill the dashboard and/or frontdriving area of the vehicle. The background lighting 164A-D may beseparate and distinct colors and/or patterns from the front and reardisplay and/or may match the pattern and/or colors displayed on thefront and/or rear display.

The power button 167 may allow a provider to quickly and easily turn theprovider communication device 160 on or off and may have a sleep modeand/or other settings interface for the driver to interact with theprovider communication device 160. The device input 168 may include anysuitable power input 168 and/or data input 168 to allow one or moreother devices and a power supply to be provided to the providercommunication device 160. The provider communication device 160 mayreceive power from an independent battery and/or from a power supply ofthe vehicle. The data input 168 may allow the provider computing device150 to send information to the provider communication device 160 and/orthe provider communication device 160 may include a wirelesscommunication element that allows the provider computing device 150 tocommunicate with the provider communication device 160. For example,Bluetooth™ and/or other short range communication protocols may be usedto link and/or pair the provider communication device 160 and theprovider computing device 150.

FIG. 5C shows a bottom view of the provider communication device 160showing the background lighting 164A-D, power button 167, and the deviceinput 168. Each of the light sources for the background lighting 164A-Dmay have separate colors and/or controllers such that each of theindependent lights of the background lighting 164A-D may be activated,deactivated, and/or have different colors showing at any given time. Forexample, if directions are being provided to the driver to take a rightturn, the background lighting 164A-D may display a color with a patternthat lights the individual background lighting 164A-D from left to rightin a repeating pattern to indicate to the driver that a right turnshould be taken. Thus, the proximity indicators may control any and/orall of the various lights in order to provide navigation information tothe provider in respect to the location of the requestor. Accordingly,the pattern may begin with the left-most background lighting element164A display for a half second, followed by the immediately adjacentbackground light to the right 164B being lit for a half second, and soon until each of the background lights 164A-D are activated anddeactivated from left to right to indicate to the driver that a rightturn should be made. Additionally, a base sensor 169 may be present thatinstructs the processor of the provider communication device 160 that abase or stand is present and connected to the provider communicationdevice 160. The sensor may be magnetic such that the stand can easily beattached and detached.

FIG. 5D illustrates an exemplary computing device, in accordance with anembodiment of the present techniques. The computing device may be arequestor computing device 120 and/or a provider computing device 150.The computing device includes a display 123 with a pattern 125 beingpresented on the display 123. The pattern 125 matches the pattern 165being displayed on the provider communication device 160. In someembodiments, the pattern 125 may be displayed on the requestor computingdevice 120 and the provider computing device 150 and may match thepattern 166 being displayed on the provider communication device 160 allat the same time so that each party may identify the correctly matchedprovider and requestor once the provider has found the location of therequestor.

I. Proximity Vector Navigation

FIGS. 6A-6C illustrate an exemplary method of identifying a location ofa requestor computing device upon arrival within a threshold distance ofa request location 180A with multiple requestors 120A-120D present. FIG.6A illustrates a diagram 600A of a provider 140A and multiple requestors120A-120D that have matched rides within the same area as a requestlocation 180A, in accordance with an embodiment of the presenttechniques. As discussed previously, in some embodiments, requestorcomputing device location may only be provided to a provider computingdevice 150A when the provider computing device 150A is near the requestlocation. As such, some embodiments may identify whether the providercomputing device 150A is within a distance threshold 181 of the requestlocation 180A before providing a requestor computing device location tothe provider computing device 150A. Thus, the provider 140A may becapable of locating and navigating to the location of the requestorwhere the requestor 110A (and their corresponding requestor computingdevice 120A) has moved down the street from the request location and isnot the nearest requestor to the request location 126A. Accordingly,FIG. 6A shows an example where a provider 140A may arrive at the requestlocation 180A and may be confused as to which requestor is matched withthe provider and/or may have difficulty finding the correct requestor110A.

In the example shown in FIG. 6A, the ride matching system 130 mayreceive a ride request from a requestor computing device 120A thatincludes a request location 180A for a pick-up. The request location maybe entered by the requestor or may include the initial location of therequestor computing device upon initiation of the ride request. The ridematching system 130 may identify a provider computing device 150Aassociated with an available provider in the area, send the ride requestto the provider computing device 150A and receive a ride match responsefrom the provider computing device 150A that accepts the ride. The ridematching system 130 may identify a location of the provider computingdevice 150A and map a navigation route 184A from the location of theprovider computing device 150A to the request location 120A. Althoughnot shown in FIG. 6A, there may be other provider computing devices thatare matched with the other requestor computing devices located near therequest location that may have navigation routes mapped to other requestlocations near the request location 180A of the requestor computingdevice 120A.

As can be seen in FIG. 6A, the requestor computing device 120Aassociated with the ride request is not located at the request location180A. Instead, the requestor computing device 120A is down the blockfrom the request location and there is another requestor computingdevice 120C that is closer to the request location 180A. As such, uponarrival near the request location 180A, the provider may not be able toeasily find the requestor at the request location 180A. Accordingly, theprovider computing device may be configured to calculate a proximityvector and navigate to the requestor as shown in FIG. 6B.

However, in order to conserve system resources, a proximity vector maynot be determined and corresponding proximity indicators leading to therequestor computing device may not be presented until the providercomputing device is near the request location. As such, the providercomputing device may determine whether the device is within a thresholddistance to the request location before receiving a requestor computingdevice location and/or calculating a proximity vector to the location ofthe requestor computing device. Accordingly, once the provider computingdevice and/or the ride matching system determines that the providercomputing device is within the threshold distance of the requestlocation, the provider computing device and/or ride matching system maydetermine a proximity vector to the requestor computing device and usethe proximity vector to locate the requestor computing device.

The ride matching system 130 and/or the provider computing device 140Amay determine whether the provider is within a threshold distance 181 ofthe request location 180A through any suitable method. For example, insome embodiments, the ride matching system 130 may determine a providerestimated arrival time based on the navigation route and may store thatinformation associated with the matched ride information. The providerestimated arrival time is the estimated arrival time of the provider toarrive at the request location from the current location of the providercomputing device. The ride matching system 130 may calculate anestimated arrival time using the distance of the mapped navigationroute, road conditions for the mapped navigation route, current and/orhistorical traffic information for the mapped navigation route, currentand/or historical travel time information for the mapped navigationroute, weather information, vehicle diagnostic information (e.g., gaslevel, service light on, flat tire, etc.), and/or any other suitableinformation. For instance, the ride matching system 130 may determinethat with traffic the estimated arrival time for the provider computingdevice 150A to the pick-up location 126A may be 4 minutes. Accordingly,the ride matching system may determine that the time to reach thedistance threshold is 3 minutes 30 seconds and upon that time being met,may send the requestor computing device location for determination ofthe proximity vector.

Additionally and/or alternatively, the provider computing device maycompare the location of the provider computing device and the requestlocation to a threshold distance to identify whether within the distancethreshold. For example, the distance threshold may be fifty yards, halfa block, or any other suitable distance threshold associated with thepick-up location where a provider may be confused as to the exactlocation where a requestor is located. Upon the proximity thresholdbeing triggered, the ride matching system may provide the requestorcomputing device location and continue to update that locationinformation over time until the pick-up is completed. In someembodiments, the provider computing device may send a request for therequestor computing device upon the provider computing devicedetermining that the provider computing device is within the distancethreshold to the request location. In other embodiments, the ridematching system may monitor and track the location of the providercomputing device in relation to the request location and send therequestor computing device location upon arrival within the distancethreshold.

FIG. 6B shows an example diagram 600B of a provider 140A arriving withina threshold distance 181 of the request location 180 and attempting tolocate the requestor 110A associated with the matched ride. The providercomputing device may receive the requestor computing device location anddetermine a proximity vector 182 using a difference between a locationof the provider computing device 150A and the location of the requestorcomputing device 120A. The proximity vector 182 may be determined bycalculating a magnitude and a direction of the difference between thelocation of the provider computing device and the location of therequestor computing device. Reference coordinate axes 185 with an originat the location of the provider computing device may be used to identifythe direction and magnitude of the proximity vector. The referencecoordinate axis may be defined such that 0 degree reference axis is thedirection that the vehicle is facing and/or traveling. For example, asshown in FIG. 6B, the reference coordinate axes 185 may be determined inreference to the front of the vehicle with an origin of the referencecoordinate axes 185 present at the location of the provider computingdevice 150A. As such, in the example shown in FIG. 6B, the direction ofthe proximity vector may be determined to be between 90 degrees and 180degrees of the front of the vehicle. An exact direction may bedetermined, for instance, as 133 degrees. The magnitude may bedetermined by identifying the hypotenuse of the x and y coordinates ofthe location of the requestor computing device in reference to theorigin of the axes located at the location of the provider computingdevice. Thus, the magnitude may be calculated using the algorithmυ=√{square root over (x²+y²)} and the direction may be calculated bytaking the inverse tangent of the location y/x in reference to thelocation of the provider computing device. Accordingly, the directionand magnitude of the vector can be calculated using the x and ycoordinates of the requestor computing device in relation to thelocation of the provider computing device.

Once the proximity vector is determined, the provider computing device150A may identify a proximity indicator associated with the proximityvector. For example, the provider computing device 150A may determinethat the first proximity vector is associated with a particularproximity identifier that corresponds to a graphic that shows thedirection in which the provider should navigate in order to find thelocation of the requestor computing device. FIG. 6C illustrates anexample of an environment 600C from the view point of a provider at arequest location where the provider communication device is displaying aproximity indicator associated with the proximity vector of the exampleshown in FIGS. 6A-6B. As shown in FIG. 6C, the provider can quickly andeasily determine that the requestor is located behind them by looking atthe graphic (i.e., pattern, color, etc.) displayed on the rear display163 of the provider communication device 160. Accordingly, the providermay navigate to the requestor by turning around, backing up, and/or mayflag down the requestor once the location of the requestor is known.Additionally, as the provider arrives near the request location theproximity indicators may start displaying such that the provider may notmove past the requestor location as they will get feedback beforearriving at the request location and can easily find the requestor uponarrival near the request location.

In some embodiments, the graphics associated with the proximityindicator may be triggered to be presented upon determining that themagnitude of the proximity vector is below a display threshold amount.For example, if the requestor computing device is too far away from theprovider computing device to display relevant information to find therequestor, the system may wait to display a relevant proximity indicatoruntil the provider computing device is within a particular displaydistance threshold of the requestor computing device even if theproximity vector has been determined. Accordingly, in some embodiments,a proximity indicator may not be displayed until the provide is within athreshold distance of the requestor so that the proximity indicators maybe helpful in finding the exact location of the requestor computingdevice. For instance, if the magnitude of the proximity vector indicatesthat the requestor is over a block away, 100 yards away, and/or over anyother relevant display distance threshold, the proximity indicator maynot be displayed.

Additionally and/or alternatively, in some embodiments, the proximityindicator may only be displayed upon an event or condition being met.For example, in some embodiments, upon arrival at a request location,the provider may press an arrived button or other input on the providerapplication 151 of the provider computing device 150 and only uponarrival will the proximity indicators be displayed for navigation to theexact location of the requestor computing device. As such, when thearrival input is received by the provider application 151 of theprovider computing device 150, the interactive display module may causethe graphics associated with the proximity indicator to be displayed onthe displays of the provider computing device 150 and/or the providercommunication device 160.

FIGS. 7A-7F illustrate an exemplary provider communication device 160showing different views of an animated proximity indicator 766A-766F ona rear display 163 of the provider communication device 160, inaccordance with an embodiment of the present techniques. Proximityindicators may include any suitable format, form, design, and/orinformation to allow a provider to locate and navigate to a requestorlocation. In some embodiments, the proximity indicators may include ananimation with different phases showing a relative direction and/orproximity to the requestor computing device. In such embodiments,different portions of an animation sequence may be shown for differentdistances and/or directions to the request location and/or the requestorcomputing device. For example, FIG. 7A shows a first phase of ananimated proximity indicator 766A being presented on a rear display 163of the provider communication device 160. The first phase of theproximity indicator animation 766A may be associated with the providercomputing device traveling toward the request location and may bedisplayed when the distance between the provider computing device andthe request location is over a particular long-distance threshold amount(e.g., 1 mile, 10 blocks, etc.). The first phase of the proximityindicator animation indicates that the provider is traveling toward therequestor.

FIG. 7B shows a provider communication device 160 having a second phaseof an animated proximity indicator 766B being displayed on the reardisplay 163 of the provider communication device 160. The second phaseof the proximity indicator may be triggered once within thelong-distance threshold amount. The second phase of the proximityindicator may set a reference distance to the request location and/orrequestor computing device that allows the provider visual feedbackregarding how close they are to the location of the requestor computingdevice and/or request location. For example, the animated display showsa graphical representation of a provider on a left side of the display,a graphical display of a requestor on the right side of the animation,and a reference distance grid in between the provider and the requestorin the middle. As the provider gets closer to the location of therequestor, the visual grid may fill to indicate that the provider isgetting closer to the location of the requestor and/or request location.FIG. 7C shows a provider communication device 160 displaying a secondphase 766C of the animated proximity indicator where the provider iscloser to the requestor than the proximity indicator shown in FIG. 7B.Accordingly, the magnitude of the proximity vector between the providerand the requestor for the proximity vector in FIG. 7C is smaller thanthat of FIG. 7B. In some embodiments, the second phase of the proximityindicator 766C may be used as the provider is approaching the requestlocation but before they arrive within the distance threshold of therequest location to indicate the provider is getting closer but is notwithin a particular distance of the request location yet. Any othersequence of thresholds distance levels and/or distances may beconfigured to correspond to the various animated sequence of imagesdisplayed by the different phases of the animated proximity indicator.

FIG. 7D shows a third phase of the animated proximity indicator 766Dwhere the provider is within the distance threshold of the requestlocation and may be approaching the location of the requestor.Accordingly, the distance grid between the graphical representation ofthe provider and the requestor has filled completely and starts to getsmaller indicating that the distance between the requestor and theprovider is getting smaller. Similarly, FIG. 7E shows the third phase ofthe animated proximity indicator 766E where the provider is even closerto the requestor computing device and/or request location than in FIG.7D. Once the distance grid shrinks and completely disappears, theproximity indicator is indicating that the provider is at the locationof the requestor computing device. FIG. 7F shows the fourth phase of theanimated proximity indicator 766F where the distance grid has completelydisappeared and the provider is at the request location and/or therequestor computing device location. In some embodiments, the graphicalrepresentations of the provider and the requestor in the proximityindicator 766F may flash back and forth to indicate that the locationsare matching or are very close and the contact may be made soon betweenthe two parties.

As such, as the magnitude of the proximity vector gets smaller as theprovider travels towards the requestor location and/or the requestlocation, an animated proximity vector may be configured to providefeedback to the driver to allow the driver to locate the requestor asefficiently and quickly as possible. In some embodiments, the proximityvector may start between the provider computing device and the requestlocation and may later shift to the distance between the requestorcomputing device and the provider computing device. Thus, differentreference points, locations, distances, and proximity vector magnitudesmay be displayed through the animated proximity vector in order to saveresources and locate the requestor in the most efficient manner possiblewithout unnecessarily using system resources.

Additionally and/or alternatively, in some embodiments, the proximityindicators may show both direction and distance and may includenavigation instructions for finding the requestor computing devicelocation to the provider. For example, FIGS. 8A-8E illustrate differentproximity indicators 866A-866E that can be shown on a rear display 163of a provider communication device 160 and their corresponding proximityvectors 182A-182E, in accordance with an embodiment of the presenttechniques. FIG. 8A shows a proximity indicator having an arrowindicating the location of the requestor computing device to theprovider within the rear display 163 of the provide communication device(not shown). The corresponding proximity vector 182 showing thedirection and magnitude of the requestor computing device is shown aswell for reference as to how the proximity indicator 866 can beassociated with the magnitude and direction of the proximity vector 182.For instance, the width of the arrow may indicate how near or far to thelocation of the requestor computing device that the provider computingdevice is. As such, a small width arrow may indicate that the provideris relatively far from the requestor and the arrow may get wider as theprovider moves closer to the location of the requestor computing device.Additionally, the direction of the arrow may indicate which directionthe requestor computing device is located in to instruct the provider onwhich side of a street to park and/or in which direction to travel.Accordingly, in some embodiments, the proximity indicator may includeinformation regarding the distance and direction in which the requestorcomputing device is located. The provider may use this information tonavigate to the location of the requestor, even when the requestor isnot at the request location. In some embodiments, the proximityindicator may be animated such that the arrows move from left to rightand/or get larger and smaller as the provider approaches the requestorlocation.

Further, some proximity indicators may indicate that the requestorlocation is behind the provider location. For example, FIGS. 8C-8E showproximity indicators with arrows that have a turn associated with themto indicate that the requestor is located behind the provider. Further,the width of the tail end or the pointed end of the arrow may indicatehow near or far behind the provider the requestor is located. Forinstance, how far behind the provider that the requestor is located canbe indicated as part of the tail portion of the arrow. For example, asshown in the difference between FIGS. 8C and 8D, the direction of therequestor location in the rear direction may be indicated by the widthof the tail of the proximity indicator arrow. For instance, the width ofthe tail end of the backwards arrow in FIG. 8D is much wider than thetail end of the proximity indicator of FIG. 8C because the requestor islocated at a closer location as far as the direction of the proximityindicator in FIG. 8D. As can be seen in FIG. 8E, where the requestor islocated close behind the provider, the tail portion and the pointedportion of the arrow may be fat to indicate the distance is small bothbehind and in direction to the requestor. Accordingly, in someembodiments, the proximity indicators may include multiple levels ofinformation in an intuitive and predictable manner for a provider tointerpret.

The rear display may include any suitable display element to generatethe proximity indicator. For example, the rear display may include a LCDdisplay that may generate the proximity indicator by using a mixture oflight and dark pixels on the rear display. Any other suitable displaytechnology may be used including rear projection, an array of LEDs, etc.Additional proximity indicators may include different patterns, colorregions, horizontal lines, vertical lines, and/or any other suitablecombinations of light that may indicate directions and/or relativedistance to a provider and/or requestor. The proximity indicators may begenerated through combinations of physical elements (a rear displaycover) and background lighting or through a combination of dark andlight pixels on a single display (e.g., LCD display). Patterns may alsobe projected onto a surface and/or may be provided through an augmentedreality (AR) view provided through the computing devices. The proximityindicators shown herein are merely examples of some indicators that canbe generated and displayed in some embodiments and the proximityindicators are not limited to those shown. For instance, in someembodiments, proximity indicators may include stripes, dark horizontallines of different color, images, icons, brands, graphics, animations,etc.

FIG. 9 illustrates an exemplary flow diagram 900 of a method forlocating and navigating to the location of a requestor based on aproximity between a requestor device and provider device, in accordancewith embodiments of the present techniques. At step 902, the providercomputing device receives a ride request from a requestor computingdevice. The ride request may include a request location (i.e., pick-uplocation) for the ride request, a requestor identifier, a requestorcomputing device location, and/or any other relevant informationassociated with the ride request and/or requestor. The ride matchingsystem may send the ride request to an available provider that is nearthe request location and may send the ride request to the providercomputing device. The ride request may include the request location,requestor information, and/or any other relevant information to allowthe provider to identify whether they want to accept or decline the riderequest. The ride matching system may identify the provider bydetermining which provider is closest to the request location, has thehighest likelihood of accepting the ride request, and/or through anyother suitable method. The provider may review the ride request, acceptthe request, and send a ride response including an indicator that theprovider accepts the ride request. The provider computing device mayreceive or generate a navigation route to the request location and maystart to travel toward the request location.

At step 904, the provider computing device may determine the location ofthe provider computing device and may determine a distance to therequest location. The provider computing device may obtain the locationusing GPS components and/or other location service components of theprovider computing device. The provider computing device may use anavigation route including traffic information, road closures, and roadconditions to determine a distance to the request location. For example,the provider computing device may determine that the provider is 2blocks away, 3 minutes away, half a mile away, and/or any other measureof distance or arrival time from the request location.

At step 906, the provider computing device determines whether theprovider computing device is near the request location by comparing thedetermined distance to the request location to a threshold distance. Thethreshold distance may be preconfigured based on the geographiclocation, city, region, provider profile information, and/or any otherconditions associated with the matched ride. For example, differentdrivers may have different threshold distances based on profile settingsthey have configured. Additionally, different geographic regions mayhave different navigation settings based on local preferences ofproviders. For instance, the threshold distance may include 1 block, 100yards, and/or 1 minute. If the provider computing device determines thatthe provider is not near the request location by being within thethreshold distance, the provider computing device updates the locationof the provider computing device and determines a new distance to therequest location (step 904). This process continues until the providercomputing device is within the threshold distance and thus is near therequest location.

At step 908, the provider computing device determines that the provideris near the request location and obtains a location of the requestorcomputing device from the ride matching system. The provider computingdevice may obtain the location of the requestor computing device fromthe ride matching system through any suitable method. For example, theprovider computing device may request the location from the ridematching system and/or the ride matching system may identify that theprovider computing device is within the distance threshold whilemonitoring the locations of the provider computing device and send thelocation of the requestor computing device to the provider computingdevice. Either way, the provider computing device determines thelocation of the requestor computing device. The location may be providedin any suitable format including longitudinal and latitudinalcoordinates, an address, a proprietary mapping reference location, etc.

At step 910, the provider computing device determines a location of theprovider computing device. For example, the provider computing devicemay obtain the location from a GPS transceiver or other locationdetermination components. For instance, the provider computing devicemay obtain a set of coordinates for the provider computing device inlongitude and latitude coordinates, may receive a set of coordinatesbased on a reference map of the city, and/or any other objectivelocation that can be referenced to the received requestor computingdevice location. The location information for both the requestorcomputing device and the provider computing device may be in the sameformat and/or the locations may be converted to the same format ifreceived in different formats. For instance, if the GPS receiverprovides locations in a different format than the ride matching system,the provider computing device may convert the location informationreceived from the GPS transceiver into the appropriate format to becompared to location received from the ride matching system.

At step 912, the provider computing device determines a proximity vectorusing a difference between the location of the provider computing deviceand the location of the requestor computing device. The providercomputing device may determine the proximity vector by calculating amagnitude and a direction of the difference between the location of theprovider computing device and the location of the requestor computingdevice. For example, the provider computing device may use the locationof the provider computing device as an origin of a set of a referenceaxes and may identify the difference in location to the location of therequestor computing device based on the set of reference axes. Theprovider computing device may map the difference using reference axesbased on the direction of travel of the provider computing device andcalculate a magnitude by determining a hypotenuse of the x and ycoordinates of the difference to the location of the requestor computingdevice. Further, the direction may be identified by taking thearctangent of the coordinates on the reference axes based on thedifference between the location of the requestor computing device andthe location of the provider computing device.

At step 914, the provider computing device identifies a graphicalproximity indicator associated with the proximity vector from a set ofproximity indicators stored within the provider computing device. Forexample, the provider computing device may select a proximity indicatorfrom a proximity indicator data store that is associated with themagnitude and the direction of the difference between the location ofthe provider computing device and the location of the requestorcomputing device. The proximity indicators may be grouped for a set ofmultiple different proximity vectors that have similar magnitudes anddirections such that a smaller number of proximity indicators may bestored than possible proximity vectors. Additionally, different types ofproximity indicators may be stored by the provider computing device suchthat the proximity indicators may show distance, direction, and/or bothdirection and distance to the requestor computing device location. Thetype of proximity indicator may be selected based on a profile of theprovider, local, regional, and/or state-based preferences, and/orthrough any other suitable conditions.

At step 916, the provider computing device presents the proximityindicator on a display associated with the provider computing device.For example, the provider computing device may cause the graphicalproximity indicator that is selected for the proximity vector to bepresented on a rear display of a provider communication device to easilyand safely allow the provider to navigate to the location of therequestor computing device. As described above, in some embodiments, thetiming of the presentation of the proximity indicator may be dependentupon a distance to the requestor and/or a condition being met (e.g.,arrival at the request location, etc.). Additionally and/oralternatively, as discussed above, instead of, or in addition to, aproximity indicator being presented, an interaction indicator may bedisplayed. For example, requestor information including a name, agraphic, a greeting, and/or any other requestor information or providerinformation associated with the profiles of the provider or requestormay be presented to greeting the requestor as they approach the vehicle.As such, as the provider approaches the location of the requestorcomputing device, an interaction indicator may be displayed and/orpresented on one or more displays associated with the provider computingdevice. The interaction indicator may include any requestor informationor provider information as well as any other relevant information to amatched ride that is stored or accessible by the dynamic transportationmatching system or the device displaying the indicator.

At step 918, the provider computing device determines whether the pickuphas been completed. The provider computing device may determine whetherthe pickup is complete through any suitable method. For example, theprovider computing device may determine whether the location of theprovider computing device and the requestor computing device are in thesame location (i.e., within the same vehicle). Additionally and/oralternatively, the provider computing device may receive an input fromthe provider indicating that the requestor has arrived at the provideror entered the vehicle. Additionally and/or alternatively, the providercomputing device may receive a notification from the ride matchingsystem showing that the requestor has indicated that they have beenpicked up. If the provider computing device determines that the pick-uphas not been completed, the provider computing device repeats steps908-916 and displays graphics associated with additional proximityindicators until a pick-up indicator has been received and/or until theprovider application identifies that a pick-up has been completed. Thus,the provider computing device obtains an updated location for therequestor computing device, an updated location for the providercomputing device, determines a second proximity vector, and presents asecond proximity indicator associated with the second proximity vectorto the provider to locate the requestor computing device. As such, asthe provider gets closer to the requestor computing device, theproximity indicator that is presented changes to better locate thelocation of the requestor computing device until the requestor ispicked-up and the ride starts.

At step 920, the provider computing device determines that the pick-upis completed and sends a pick-up indicator to the ride matching systemto indicate that the matched ride has begun. At this point the requestoris in the vehicle or the on-demand service has otherwise begun and theride matching system tracks the status associated with the ride and theprovider may travel to the destination location associated with thematched ride.

Note that although the present example focuses on on-demand ride-sharingapplications, any suitable service may be performed using similarfunctionality. For example, delivery of services may have a similarprocess implemented to find the location of delivery of the service.Moreover, note that the functionality described herein may be performedon a requestor computing device at the same time or independent of theprovider computing device to allow the requestor computing device tonavigate to the location of the provider computing device.

II. Requestor Sequence Identification and Presentation

FIG. 10 illustrates a diagram 1000 of multiple destinations associatedwith a requestor information sequence during a matched ride, inaccordance with an embodiment of the present techniques. In someembodiments, multiple requestors may be matched with a provider and maybe provided a ride to multiple destination locations during the sameride. As such, FIG. 10 shows an example where one provider is associatedwith three requestors that are being dropped-off at three differentdestination locations 126A-126C during a ride.

In the example shown in FIG. 10, the ride matching system 130 mayidentify a ride that has one or more requestors in an active ride withmultiple destination locations. The ride matching system may identifydestination locations that each of the picked up requestors aretraveling to. The ride matching system may map a variety of differentnavigation routes to identify the fastest and/or most efficient route toeach of the destination locations. The sequence of destination locationsmay be determined based on the different navigation routes. The ridematching system may generate a variety of different potential navigationroutes incorporating traffic, weather conditions, road conditions, etc.in order to identify the best route and destination sequence to use.Once the most efficient and/or fastest navigation route for theplurality of destination locations is determined, the ride matchingsystem may provide the selected navigation route to the providercomputing device. The provider computing device may obtain thenavigation route and may start to travel along the navigation routetoward the first destination location based on the destination sequenceidentified by the ride matching system.

However, the multiple requestors may not know which requestor is next tobe dropped-off because each requestor may not know the destinations ofthe other requestors and/or how close the provider is to each of thosedestination locations. Accordingly, embodiments may implement arequestor information sequence that may be used to present requestorinformation to the requestors present in the provider vehicle to informeach provider of which requestor and/or destination location theprovider is traveling toward.

FIGS. 11A-11C illustrate an exemplary provider communication deviceshowing an animation including requestor information based on arequestor information sequence in accordance with embodiments of thepresent techniques. For example, FIGS. 11A-11C show a rear display 163of a provider communication device 160 displaying different portions ofan animation 1166 including requestor information. FIGS. 11A-11C showthree different phases 1165A-1165C of an animation 1165 that informs therequestors in the vehicle of the next destination location that is goingto be associated with a particular requestor. For instance, theanimation across the three phases may state “Next Rider John” where therequestor information includes the requestor's first name, e.g., “John.”The animation message including “Next Rider” may be the same for allrequestors but the animation may incorporate the requestor informationfor the last portion or phase of the animation. Additionally, any numberof different animations may also be presented with any number ofdifferent messages, videos, sounds, images, etc. Moreover, any number ofdifferent requestor information may be used. For example, the requestorinformation may include a destination address, a picture, an image, apattern, a color, a video, or a gif selected by the various requestorsand stored in their profile information in the requestor informationdata store. The animation may scroll across the screen in any direction,may flash, and/or may perform any other suitable action to get theattention of the requestors and let them know which requestordestination is associated with the next destination.

FIG. 12 illustrates an exemplary flow diagram 1200 of a method foridentifying and presenting a requestor information sequence during aride based on respective destination locations of the requestors, inaccordance with an embodiment of the present techniques. At step 1202,the provider computing device receives rides requests for multiplerequestors and provides a matched ride for more than one requestor at atime. Thus, the provider provides a ride for multiple requestors at thesame time using the same vehicle. The provider computing deviceidentifies a navigation route based on the multiple destinationlocations (step 1204) and starts to travel along the navigation routeassociated with the multiple destination locations.

At step 1206, the provider computing device determines a destinationsequence based on the navigation route that identifies the destinationlocations and corresponding requestor information for each destinationlocation based on the sequence of drop-offs using the navigation route.The provider computing device may receive the destination sequence fromthe ride matching system and/or may determine the destination sequencebased on the navigation route and the various destination locations. Atstep 1208, the provider computing device identifies the next destinationlocation from the destination sequence.

At step 1210, the provider computing device identifies a distance to thenext destination location by comparing the next destination location tothe current location of the provider computing device. The providercomputing device may use the navigation route and traffic information,road conditions, weather conditions, etc., in determining the distanceto the next destination location.

At step 1212, the provider computing device may determine whether thedistance to the next destination is within a notification threshold. Ifnot, the distance determination step of 1210 may be repeated until theprovider computing device is within the notification threshold. Thenotification threshold may include any suitable time or distanceincluding, for example, 2 blocks, ½ mile, 2 minutes, etc.

At step 1214, the provider computing device identifies the requestorinformation associated with the next destination location. For instance,the provider computing device may determine first requestor informationassociated with the first destination of the destination sequence andmay obtain the requestor information from the destination sequencestored on the provider computing device. The destination sequence may beprovided as part of the matched ride information received from the ridematching system upon determination that the provider is matched withmultiple requestors.

At step 1216, the provider computing device presents the requestorinformation on a display associated with the provider computing device.For example, the provider computing device may cause the requestorinformation to be presented on a rear display of a providercommunication device as shown in FIG. 11. The requestor information maybe displayed as part of a larger animation and/or may include anysuitable information to indicate to a requestor that they are next to bedropped-off. For instance, the requestor information may include a name,image, destination address, and/or any other information to indicate toa requestor they are next to be dropped off. The requestors may be ableto customize and/or select their requestor information as part of theirrequestor profile.

At step 1218, the provider computing device determines whether thedrop-off is completed and if so, stops presenting the graphicsassociated with the requestor information. The ride matching system mayupdate the respective data stores with the completed ride informationand the accounts for the requestor and the provider may be updatedaccording to the ride information that was tracked during the matchedride. If the drop-off is not completed, the requestor information iscontinued to be presented informing the requestor that their drop-off isnext and/or that they are within a certain distance of the drop-off.

At step 1220, the provider computing device determines if there areadditional destinations and if so, repeats the process from step1208-1218 for the next destination and/or requestor in the destinationsequence. This process continues until all the requestors aredropped-off and/or if there is only a single requestor left in thevehicle. Once there are no additional destinations, the ride iscompleted (step 1222) and no additional requestor information isdisplayed.

FIG. 13 shows a requestor/provider management environment 1300, inaccordance with various embodiments. As shown in FIG. 13, a managementsystem 1302 can be configured to provide various services to requestorand provider devices. Management system 1302 can run one or moreservices or software applications, including identity managementservices 1304, location services 1306, ride services 1308, or otherservices. Although three services are shown as being provided bymanagement system 1302, more or fewer services may be provided invarious implementations. In various embodiments, management system 1302may include one or more general purpose computers, server computers,clustered computing systems, cloud-based computing systems, or any othercomputing systems or arrangements of computing systems. Managementsystem 1302 may be configured to run any or all of the services and/orsoftware applications described with respect to various embodiments ofthe present techniques described herein. In some embodiments, managementsystem 1302 can run any appropriate operating system as well as variousserver applications, such as common gateway interface (CGI) servers,JAVA® servers, hypertext transport protocol (HTTP) servers, filetransfer protocol (FTP) servers, database servers, etc.

Identity management services 1304 may include various identity services,such as access management and authorization services for requestors andproviders when interacting with management system 1302. This mayinclude, e.g., authenticating the identity of providers and determiningthat the providers are authorized to provide services through managementsystem 1302. Similarly, requestors' identities may be authenticated todetermine whether the requestor is authorized to receive the requestedservices through management system 1302. Identity management services1304 may also control access to provider and requestor data maintainedby management system 1302, such as driving and/or ride histories,personal data, or other user data. Location services 1306 may includenavigation and/or traffic management services and user interfaces, orother location services.

In various embodiments, ride services 1308 may include ride matching andmanagement services to connect a requestor to a provider. Ride services1308 may include a user interface and or may receive data fromrequestors and providers through applications executing on theirrespective devices. Ride services 1308 may, e.g., confirm the identityof requestors and providers using identity management services 1304, anddetermine that each user is authorized for the requested ride service.In some embodiments, ride services 1308 can identify an appropriateprovider using a location obtained from a requestor and locationservices 1306 to identify, e.g., a closest provider. As such, rideservices 1308 can manage the distribution and allocation of provider andrequestor resources, consistent with embodiments described herein.

Management system 1302 can connect to various devices through network1310 and 1312. Networks 1310, 1312 can include any network configured tosend and/or receive data communications using various communicationprotocols, such as AppleTalk, transmission control protocol/Internetprotocol (TCP/IP), Internet packet exchange (IPX), systems networkarchitecture (SNA), etc. In some embodiments, networks 1310, 1312 caninclude local area networks (LAN), such as Ethernet, Token-Ring or otherLANs. Networks 1310, 1312 can include a wide-area network and/or theInternet. In some embodiments, networks 1310, 1312 can include VPNs(virtual private networks), PSTNs (a public switched telephonenetworks), infra-red networks, or any wireless network, includingnetworks implementing the IEEE 802.11 family of standards, Bluetooth®,Bluetooth® Low Energy, NFC and/or any other wireless protocol. Invarious embodiments, networks 1310, 1312 can include a mobile network,such as a mobile telephone network, cellular network, satellite network,or other mobile network. Networks 1310, 1312 may be the same ascommunication network 170 in FIG. 1. In some embodiments, networks 1310,1312 may each include a combination of networks described herein orother networks as are known to one of ordinary skill in the art.

Users may then utilize one or more services provided by managementsystem 1302 using applications executing on provider and requestordevices. As shown in FIG. 13, provider computing devices 1314, 1316,1318, and/or 1320 may include mobile devices (e.g., an iPhone®, aniPad®, mobile telephone, tablet computer, a personal digital assistant(PDA)), wearable devices (e.g., head mounted displays, etc.), thinclient devices, gaming consoles, or other devices configured tocommunicate over one or more networks 1310, 1312. Each provider orrequestor device can execute various operating systems (e.g., Android,iOS, etc.) and configured to communicate over the Internet, Blackberry®messenger, short message service (SMS), email, and various othermessaging applications and/or communication protocols. The requestor andprovider computing devices can include general purpose computers (e.g.,personal computers, laptop computers, or other computing devicesexecuting operating systems such as macOS®, Windows®, Linux®, variousUNIX® or UNIX- or Linux-based operating systems, or other operatingsystems). In some embodiments, provider computing device 1314 caninclude a vehicle-integrated computing device, such as a vehiclenavigation system, or other computing device integrated with the vehicleitself.

In some embodiments, provider computing device 1318 can include aprovider communication device configured to communicate with users, suchas drivers, passengers, pedestrians, and other users. In someembodiments, provider communication device 1318 can communicate directlywith management system 1302 or through another provider computingdevice, such as provider computing device 1316. In some embodiments, arequestor computing device can communicate 1326 directly with providercommunication device 1318 over a peer-to-peer connection, Bluetoothconnection, NFC connection, ad hoc wireless network, or any othercommunication channel or connection. Although particular devices areshown as communicating with management system 1302 over networks 1310and 1312, in various embodiments, management system 1302 can expose aninterface, such as an application programming interface (API) or serviceprovider interface (SPI) to enable various third parties which may serveas an intermediary between end users and management system 1302.

Although requestor/provider management environment 1300 is shown withfour provider devices and two requestor devices, any number of devicesmay be supported. The various components shown and described herein maybe implemented in hardware, firmware, software, or combinations thereof.Although one embodiment of a requestor/provider management environmentis depicted in FIG. 13, this is merely one implementation and not meantto be limiting.

FIG. 14 shows a data collection and application management environment1400, in accordance with various embodiments. As shown in FIG. 14,management system 1402 may be configured to collect data from variousdata collection devices 1404 through a data collection interface 1406.As discussed above, management system 1402 may include one or morecomputers and/or servers or any combination thereof. Data collectiondevices 1404 may include, but are not limited to, user devices(including provider and requestor computing devices, such as thosediscussed above), provider communication devices, laptop or desktopcomputers, vehicle data (e.g., from sensors integrated into or otherwiseconnected to vehicles), ground-based or satellite-based sources (e.g.,location data, traffic data, weather data, etc.), or other sensor data(e.g., roadway embedded sensors, traffic sensors, etc.). Data collectioninterface 1406 can include, e.g., an extensible device frameworkconfigured to support interfaces for each data collection device. Invarious embodiments, data collection interface 1406 can be extended tosupport new data collection devices as they are released and/or toupdate existing interfaces to support changes to existing datacollection devices. In various embodiments, data collection devices maycommunicate with data collection interface 1406 over one or morenetworks. The networks may include any network or communication protocolas would be recognized by one of ordinary skill in the art, includingthose networks discussed above.

As shown in FIG. 14, data received from data collection devices 1404 canbe stored in data store 1408. Data store 1408 can include one or moredata stores, such as databases, object storage systems and services,cloud-based storage services, and other data stores. For example,various data stores may be implemented on a non-transitory storagemedium accessible to management system 1402, such as historical datastore 1410, ride data store 1412, and user data store 1414. Data stores1408 can be local to management system 1402, or remote and accessibleover a network, such as those networks discussed above or a storage-areanetwork or other networked storage system. In various embodiments,historical data 1410 may include historical traffic data, weather data,request data, road condition data, or any other data for a given regionor regions received from various data collection devices. Ride data 1412may include route data, request data, timing data, and other riderelated data, in aggregate and/or by requestor or provider. User data1414 may include user account data, preferences, location history, andother user-specific data. Although particular data stores are shown, anydata collected and/or stored according to the various embodimentsdescribed herein may be stored in data stores 1408.

As shown in FIG. 14, an application interface 1416 can be provided bymanagement system 1402 to enable various apps 1418 to access data and/orservices available through management system 1402. Apps 1418 can run onvarious user devices (including provider and requestor computingdevices, such as those discussed above) and/or may include cloud-basedor other distributed apps configured to run across various devices(e.g., computers, servers, or combinations thereof). Apps 1418 mayinclude, e.g., aggregation and/or reporting apps which may utilize data1408 to provide various services (e.g., third-party ride request andmanagement apps). In various embodiments, application interface 1416 caninclude an API and/or SPI enabling third party development of apps 1418.In some embodiments, application interface 1416 may include a webinterface, enabling web-based access to data 1408 and/or servicesprovided by management system 1402. In various embodiments, apps 1418may run on devices configured to communicate with application interface1416 over one or more networks. The networks may include any network orcommunication protocol as would be recognized by one of ordinary skillin the art, including those networks discussed above, in accordance withan embodiment of the present disclosure.

Although a particular implementation of environment 1400 is shown inFIG. 14, this is for illustration purposes only and not intended to belimited. In some embodiments, environment 1400 may include fewer or morecomponents, as would be recognized by one or ordinary skill in the art.

FIGS. 15A-15C show an example provider communication device 1500 inaccordance with various embodiments. As shown in FIG. 15A, a front view1502 of provider communication device 1500 shows a front display 1504.In some embodiments, front display 1504 may include a secondary regionor separate display 1506. As shown in FIG. 15A, the front display mayinclude various display technologies including, but not limited to, oneor more liquid crystal displays (LCDs), one or more arrays of lightemitting diodes (LEDs), or other display technologies. In someembodiments, the front display may include a cover that divides thedisplay into multiple regions. In some embodiments, separate displaysmay be associated with each region. The front display 1504 can beconfigured to show colors, patterns, color patterns, or otheridentifying information to requestors and other users external to aprovider vehicle. In some embodiments, the secondary region or separatedisplay 1506 may be configured to display the same, or contrasting,information as front display 1504.

As shown in FIG. 15B, a rear view 1508 of provider communication device1500 shows a rear display 1510. Rear display 1510, as with front display1504, rear display 1510 may include various display technologiesincluding, but not limited to, one or more liquid crystal displays(LCDs), one or more arrays of light emitting diodes (LEDs), or otherdisplay technologies. The rear display may be configured to displayinformation to the provider, the requestor, or other users internal to aprovider vehicle. In some embodiments, rear display 1510 may beconfigured to provide information to users external to the providervehicle who are located behind the provider vehicle. As further shown inFIG. 15B, provider communication device may include a power button 1512or other switch which can be used to turn on or off the providercommunication device. In various embodiments, power button 1512 may be ahardware button or switch that physically controls whether power isprovided to provider communication device 1500. Alternatively, powerbutton 1512 may be a soft button that initiates a startup/shutdownprocedure managed by software and/or firmware instructions. In someembodiments, provider communication device 1500 may not include a powerbutton 1512. Additionally, provider communication device may include oneor more light features 1514 (such as one or more LEDs or other lightsources) configured to illuminate areas adjacent to the providercommunication device 1500. In some embodiments, provider communicationdevice 1500 can include a connector to enable a provider computingdevice to be connected to the provider communication device 1500. Insome embodiments, power may be provided to the provider communicationdevice through connector 1516.

FIG. 15C shows a block diagram of provider computing device 1500. Asshown in FIG. 15C, provider communication device can include a processor1518. Processor 1518 can control information displayed on rear display1510 and front display 1504. As noted, each display can displayinformation to different users, depending on the positioning of theusers and the provider communication device. In some embodiments,display data 1520 can include stored display patterns, sequences,colors, text, or other data to be displayed on the front and/or reardisplay. In some embodiments, display data 1520 can be a buffer, storingdisplay data as it is received from a connected provider computingdevice. In some embodiments, display data 1520 can include a hard diskdrive, solid state drive, memory, or other storage device includinginformation from a management system. In some embodiments, lightingcontroller 1522 can manage the colors and/or other lighting displayed bylight features 1514. In some embodiments, communication component 1524can manage networking or other communication between the providercommunication device 1500 and one or more networking components or othercomputing devices. In various embodiments, communication component 1524can be configured to communicate over Wi-Fi, Bluetooth, NFC, RF, or anyother wired or wireless communication network or protocol. In someembodiments, provider communication device 1500 can include aninput/output system 1526 configured to provide output in addition tothat provided through the displays and/or to receive inputs from users.For example, I/O system 1526 can include an image capture deviceconfigured to recognize motion or gesture-based inputs from a user.Additionally, or alternatively, I/O system 1526 can include an audiodevice configured to provide audio outputs (such as alerts,instructions, or other information) to users and/or receive audioinputs, such as audio commands, which may be interpreted by a voicerecognition system or other command interface. In some embodiments, I/Osystem may include one or more input or output ports, such as USB(universal serial bus) ports, lightning connector ports, or other portsenabling users to directly connect their devices to the providercommunication device (e.g., to exchange data, verify identityinformation, provide power, etc.).

FIG. 16 shows an example computer system 1600, in accordance withvarious embodiments. In various embodiments, computer system 1600 may beused to implement any of the systems, devices, or methods describedherein. In some embodiments, computer system 1600 may correspond to anyof the various devices described herein, including, but not limited, tomobile devices, tablet computing devices, wearable devices, personal orlaptop computers, vehicle-based computing devices, or other devices orsystems described herein. As shown in FIG. 16, computer system 1600 caninclude various subsystems connected by a bus 1602. The subsystems mayinclude an I/O device subsystem 1604, a display device subsystem 1606,and a storage subsystem 1610 including one or more computer readablestorage media 1608. The subsystems may also include a memory subsystem1612, a communication subsystem 1620, and a processing subsystem 1622.

In system 1600, bus 1602 facilitates communication between the varioussubsystems. Although a single bus 1602 is shown, alternative busconfigurations may also be used. Bus 1602 may include any bus or othercomponent to facilitate such communication as is known to one ofordinary skill in the art. Examples of such bus systems may include alocal bus, parallel bus, serial bus, bus network, and/or multiple bussystems coordinated by a bus controller. Bus 1602 may include one ormore buses implementing various standards such as Parallel ATA, serialATA, Industry Standard Architecture (ISA) bus, Extended ISA (EISA) bus,MicroChannel Architecture (MCA) bus, Peripheral Component Interconnect(PCI) bus, or any other architecture or standard as is known in the art.

In some embodiments, I/O device subsystem 1604 may include various inputand/or output devices or interfaces for communicating with such devices.Such devices may include, without limitation, a touch screen or othertouch-sensitive input device, a keyboard, a mouse, a trackball, a motionsensor or other movement-based gesture recognition device, a scrollwheel, a click wheel, a dial, a button, a switch, audio recognitiondevices configured to receive voice commands, microphones, image capturebased devices such as eye activity monitors configured to recognizecommands based on eye movement or blinking, and other types of inputdevices. I/O device subsystem 1604 may also include identification orauthentication devices, such as fingerprint scanners, voiceprintscanners, iris scanners, or other biometric sensors or detectors. Invarious embodiments, I/O device subsystem may include audio outputdevices, such as speakers, media players, or other output devices.

Computer system 1600 may include a display device subsystem 1606.Display device subsystem may include one or more lights, such as an oneor more light emitting diodes (LEDs), LED arrays, a liquid crystaldisplay (LCD) or plasma display or other flat-screen display, a touchscreen, a head-mounted display or other wearable display device, aprojection device, a cathode ray tube (CRT), and any other displaytechnology configured to visually convey information. In variousembodiments, display device subsystem 1606 may include a controllerand/or interface for controlling and/or communicating with an externaldisplay, such as any of the above-mentioned display technologies.

As shown in FIG. 16, system 1600 may include storage subsystem 1610including various computer readable storage media 1608, such as harddisk drives, solid state drives (including RAM-based and/or flash-basedSSDs), or other storage devices. In various embodiments, computerreadable storage media 1608 can be configured to store software,including programs, code, or other instructions, that is executable by aprocessor to provide functionality described herein. In someembodiments, storage system 1610 may include various data stores orrepositories or interface with various data stores or repositories thatstore data used with embodiments described herein. Such data stores mayinclude, databases, object storage systems and services, data lakes orother data warehouse services or systems, distributed data stores,cloud-based storage systems and services, file systems, and any otherdata storage system or service. In some embodiments, storage system 1610can include a media reader, card reader, or other storage interface tocommunicate with one or more external and/or removable storage devices.In various embodiments, computer readable storage media 1608 can includeany appropriate storage medium or combination of storage media. Forexample, computer readable storage media 1608 can include, but is notlimited to, any one or more of random access memory (RAM), read onlymemory (ROM), electronically erasable programmable ROM (EEPROM), flashmemory or other memory technology, optical storage (e.g., CD-ROM,digital versatile disk (DVD), Blu-ray® disk or other optical storagedevice), magnetic storage (e.g., tape drives, cassettes, magnetic diskstorage or other magnetic storage devices). In some embodiments,computer readable storage media can include data signals or any othermedium through which data can be sent and/or received.

Memory subsystem 1612 can include various types of memory, includingRAM, ROM, flash memory, or other memory. Memory 1612 can include SRAM(static RAM) or DRAM (dynamic RAM). In some embodiments, memory 1612 caninclude a BIOS (basic input/output system) or other firmware configuredto manage initialization of various components during, e.g., startup. Asshown in FIG. 16, memory 1612 can include applications 1614 andapplication data 1616. Applications 1614 may include programs, code, orother instructions, that can be executed by a processor. Applications1614 can include various applications such as browser clients, locationmanagement applications, ride management applications, data managementapplications, and any other application. Application data 1616 caninclude any data produced and/or consumed by applications 1614. Memory1612 can additionally include operating system 1618, such as macOS®,Windows®, Linux®, various UNIX® or UNIX- or Linux-based operatingsystems, or other operating systems.

System 1600 can also include a communication subsystem 1620 configuredto facilitate communication between system 1600 and various externalcomputer systems and/or networks (such as the Internet, a local areanetwork (LAN), a wide area network (WAN), a mobile network, or any othernetwork). Communication subsystem 1620 can include hardware and/orsoftware to enable communication over various wired (such as Ethernet orother wired communication technology) or wireless communicationchannels, such as radio transceivers to facilitate communication overwireless networks, mobile or cellular voice and/or data networks, WiFinetworks, or other wireless communication networks. For example, thecommunication network is shown as communication network 170 in FIG. 1.Additionally, or alternatively, communication subsystem 1620 can includehardware and/or software components to communicate with satellite-basedor ground-based location services, such as GPS (global positioningsystem). In some embodiments, communication subsystem 1620 may include,or interface with, various hardware or software sensors. The sensors maybe configured to provide continuous or and/or periodic data or datastreams to a computer system through communication subsystem 1620

As shown in FIG. 16, processing system 1622 can include one or moreprocessors or other devices operable to control computing system 1600.Such processors can include single core processors 1624, multi coreprocessors, which can include central processing units (CPUs), graphicalprocessing units (GPUs), application specific integrated circuits(ASICs), digital signal processors (DSPs) or any other generalized orspecialized microprocessor or integrated circuit. Various processorswithin processing system 1622, such as processors 1624 and 1626, may beused independently or in combination depending on application.

Various other configurations are may also be used, with particularelements that are depicted as being implemented in hardware may insteadbe implemented in software, firmware, or a combination thereof. One ofordinary skill in the art will recognize various alternatives to thespecific embodiments described herein.

The specification and figures describe particular embodiments which areprovided for ease of description and illustration and are not intendedto be restrictive. Embodiments may be implemented to be used in variousenvironments without departing from the spirit and scope of thedisclosure.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the disclosed embodiments (especially in thecontext of the following claims) are to be construed to cover both thesingular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The terms “comprising,” “having,” “including,”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. The term“connected” is to be construed as partly or wholly contained within,attached to, or joined together, even if there is something intervening.Recitation of ranges of values herein are merely intended to serve as ashorthand method of referring individually to each separate valuefalling within the range, unless otherwise indicated herein and eachseparate value is incorporated into the specification as if it wereindividually recited herein. All methods described herein can beperformed in any suitable order unless otherwise indicated herein orotherwise clearly contradicted by context. The use of any and allexamples, or exemplary language (e.g., “such as”) provided herein, isintended merely to better illuminate embodiments of the disclosure anddoes not pose a limitation on the scope of the disclosure unlessotherwise claimed. No language in the specification should be construedas indicating any non-claimed element as essential to the practice ofthe disclosure.

Disjunctive language such as the phrase “at least one of X, Y, or Z,”unless specifically stated otherwise, is intended to be understoodwithin the context as used in general to present that an item, term,etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y,and/or Z). Thus, such disjunctive language is not generally intended to,and should not, imply that certain embodiments require at least one ofX, at least one of Y, or at least one of Z to each be present.

Preferred embodiments of this disclosure are described herein, includingthe best mode known to the inventors for carrying out the disclosure.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate and the inventors intend for the disclosure to be practicedotherwise than as specifically described herein. Accordingly, thisdisclosure includes all modifications and equivalents of the subjectmatter recited in the claims appended hereto as permitted by applicablelaw. Moreover, any combination of the above-described elements in allpossible variations thereof is encompassed by the disclosure unlessotherwise indicated herein or otherwise clearly contradicted by context.

All references, including publications, patent applications, andpatents, cited herein are hereby incorporated by reference to the sameextent as if each reference were individually and specifically indicatedto be incorporated by reference and were set forth in its entiretyherein.

What is claimed is:
 1. A method comprising: sending, by a dynamictransportation matching system, transport request information associatedwith a requestor computing device of a requestor to a provider computingdevice associated with a driver, the transport request informationincluding a request location associated with the requestor computingdevice; receiving, by the dynamic transportation matching system,information indicative of a match from the provider computing device;sending, by the dynamic transportation matching system, matchedinformation to the provider computing device associated with the driver,the matched information including requestor information associated withthe requestor computing device, wherein the provider computing device isconfigured to: determine if the provider computing device associatedwith the driver is located within a threshold distance from the requestlocation associated with the requestor computing device; receive alocation of the requestor computing device from the dynamictransportation matching system; determine an interaction indicatorassociated with the requestor information; and cause a providercommunication device associated with the driver to display theinteraction indicator based on a difference between a location of theprovider computing device and the location of the requestor computingdevice, wherein the provider communication device is a separate devicefrom the provider computing device and the requestor computing device.2. The method of claim 1, wherein the interaction indicator comprises aproximity indicator and wherein the provider computing device is furtherconfigured to: determine a proximity vector using the difference betweenthe location of the provider computing device and the location of therequestor computing device; and determine the proximity indicatorassociated with the proximity vector.
 3. The method of claim 2, whereindetermining a proximity vector using the difference between the locationof the provider computing device and the location of the requestorcomputing device further causes the provider computing device to:calculate a magnitude and a direction of the difference between thelocation of the provider computing device and the location of therequestor computing device.
 4. The method of claim 3, whereindetermining a proximity indicator associated with the proximity vectorfurther causes the provider computing device to: select a proximityindicator from a proximity indicator data store that is associated withthe magnitude and the direction of the difference between the locationof the provider computing device and the location of the requestorcomputing device.
 5. The method of claim 3, wherein the providercomputing device is further configured to: determine that the magnitudeof the proximity vector is under a presentation threshold before causingto display the proximity indicator through the provider computingdevice.
 6. The method of claim 2, wherein the proximity indicatorcomprises an animation, a sound, haptic feedback, a color, a pattern, animage, or a pattern of colors that indicates a direction to the locationof the requestor computing device.
 7. The method of claim 2, wherein theproximity indicator includes an animation, a sound, haptic feedback, acolor, a pattern, an image, or a pattern of colors that indicates adistance to the location of the requestor computing device.
 8. Themethod of claim 1, further comprising causing to display the interactionindicator on a display associated with the provider computing device. 9.The method of claim 8, wherein causing to display the interactionindicator on a display associated with the provider computing devicefurther causes the provider computing device to: cause graphicscorresponding to the interaction indicator to be displayed on a reardisplay of flail the provider communication device.
 10. The method ofclaim 8, wherein causing to display the interaction indicator on adisplay associated with the provider computing device further causes theprovider computing device to: cause graphics corresponding to theinteraction indicator to be presented on at least one display of avehicle associated with the provider computing device.
 11. The method ofclaim 1, wherein the provider computing device is further configured to:determine the requestor computing device is outside a second thresholddistance from the provider computing device; determine a second locationof the provider computing device; receive a second location of therequestor computing device from the dynamic transportation matchingsystem; determine a second proximity vector using a difference betweenthe second location of the provider computing device and the secondlocation of the requestor computing device; determine a second proximityindicator associated with the second proximity vector; and cause todisplay the second proximity indicator on the display of the providercomputing device.
 12. The method of claim 1, wherein the interactionindicator includes a name, a graphic, and/or a greeting associated withthe requestor information.
 13. A method comprising: sending, by adynamic transportation matching system, transport request informationassociated with a requestor computing device of a requestor to aprovider computing device associated with a driver, the transportrequest information including a request location associated with therequestor computing device; receiving, by the dynamic transportationmatching system, information indicative of a match from the providercomputing device; sending, by the dynamic transportation matchingsystem, matched information to the provider computing device associatedwith the driver, the matched information including a navigation routeassociated with one or more destination locations for one or morerequestors, the one or more destination locations being associated witha destination sequence based on the navigation route, each of thedestination locations being associated with one of the one or morerequestors, and the matched information including requestor informationfor each of the one or more requestors, wherein the provider computingdevice is configured to: identify a first destination based on thedestination sequence; determine a distance to the first destinationbased on a location of the provider computing device and the firstdestination; determine if the distance to the first destination iswithin a notification distance threshold; determine first requestorinformation associated with the first destination of the destinationsequence; cause a provider communication device associated with at leastthe driver to display an interaction indicator that is associated withthe first requestor information, wherein the provider communicationdevice is a separate device from the provider computing device; andcause to display the first requestor information on a display associatedwith the provider computing device.
 14. The method of claim 13, whereinthe provider computing device is further configured to: determine thatthe first destination is completed; identify a second destination basedon the destination sequence; determine a distance to the seconddestination based on an updated location of the provider computingdevice and a location of the second destination; determine if thedistance to the second destination is within the notification distancethreshold; determine second requestor information associated with thesecond destination of the destination sequence; cause the providercommunication device associated with at least the driver to display aninteraction indicator that is associated with the second requestorinformation; and cause to display the second requestor informationthrough the provider computing device.
 15. The method of claim 13,wherein causing to display the second requestor information through theprovider computing device includes causing to display the requestorinformation on a display associated with the provider computing device.16. The method of claim 13, wherein the first requestor informationincludes an image, sound, text, color, or a pattern of colors thatidentifies a requestor associated with the first destination.
 17. Themethod of claim 13, wherein the provider computing device is furtherconfigured to: cause graphics corresponding to the first requestorinformation to be displayed on a rear display of a providercommunication device.
 18. The method of claim 13, wherein determiningthat the first destination is completed further comprises at least oneof receiving a ride complete input from the provider or determining alocation of the first requestor computing device is over a proximitythreshold from the provider computing device.
 19. The method of claim13, wherein the first requestor information is customized by the firstrequestor and stored in a profile associated with the first requestor atthe dynamic transportation matching system.
 20. A computing devicecomprising: a processor; and a computer-readable medium comprising code,executable by the processor, to cause a provider computing deviceassociated with a driver to: receive matched information from a dynamictransportation matching system, the matched information including arequest location and requestor information associated with a requestorcomputing device of a requestor; determine the provider computing deviceis located within a threshold distance from the request location;receive a location of the requestor computing device; determine aninteraction indicator associated with the requestor information; andcause a provider communication device associated with the driver todisplay the interaction indicator based on a difference between alocation of the provider computing device and the location of therequestor computing device, wherein the provider communication device isa separate device from the provider computing device and the requestorcomputing device.
 21. The computing device of claim 20, wherein theinteraction indicator includes a proximity indicator and wherein thecomputing device is further configured to: determine a proximity vectorusing the difference between the location of the computing device andthe location of the requestor computing device; and determine theproximity indicator associated with the proximity vector.
 22. A systemcomprising: a provider computing device that is associated with a driverand is configured to: receive matched information from a dynamictransportation matching system, the matched information including arequest location and requestor information associated with a requestorcomputing device of a requestor; determine if the provider computingdevice is located within a threshold distance from the request location;receive a location of the requestor computing device from the dynamictransportation matching system; determine an interaction indicatorassociated with the requestor information; and cause a providercommunication device associated with the driver to display theinteraction indicator based on a difference between a location of theprovider computing device and the location of the requestor computingdevice, wherein the provider communication device is a separate devicefrom the provider computing device and the requestor computing device;and the dynamic transportation matching system configured to: identifythe location of a requestor computing device; and send the location ofthe requestor computing device to the provider computing device.